From cf12e99545451151466573403d4865546862724d Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 8 Feb 2023 15:16:43 +0800 Subject: [PATCH] add api for facebook and twitter login --- cocos/platform/android/jni/JniImp.cpp | 10 ++++++ cocos/platform/android/jni/JniImp.h | 2 ++ .../js-bindings/manual/jsb_global.cpp | 36 +++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/cocos/platform/android/jni/JniImp.cpp b/cocos/platform/android/jni/JniImp.cpp index b63b5d4..c09898f 100644 --- a/cocos/platform/android/jni/JniImp.cpp +++ b/cocos/platform/android/jni/JniImp.cpp @@ -683,6 +683,16 @@ void signWithTiktokJNI(const std::string& funid) JniHelper::callStaticVoidMethod(JCSDK, "signWithTiktok", funid); } +void signWithFacebookJNI(const std::string& funid) +{ + JniHelper::callStaticVoidMethod(JCSDK, "signWithFacebook", funid); +} + +void signWithTwitterJNI(const std::string& funid) +{ + JniHelper::callStaticVoidMethod(JCSDK, "signWithTwitter", funid); +} + void signOutGoogleJNI(const std::string& funid) { JniHelper::callStaticVoidMethod(JCSDK, "signOutGoogle", funid); diff --git a/cocos/platform/android/jni/JniImp.h b/cocos/platform/android/jni/JniImp.h index 0731198..e6f95e3 100644 --- a/cocos/platform/android/jni/JniImp.h +++ b/cocos/platform/android/jni/JniImp.h @@ -41,6 +41,8 @@ void scanQRCodeJNI(const std::string& funid, const std::string& title); void loadRestoreKeyJNI(const std::string& funid, const std::string& oid); void signWithGoogleJNI(const std::string& funid); void signWithTiktokJNI(const std::string& funid); +void signWithFacebookJNI(const std::string& funid); +void signWithTwitterJNI(const std::string& funid); void signOutGoogleJNI(const std::string& funid); void toWalletJNI(const std::string& url); extern int getObbAssetFileDescriptorJNI(const std::string& path, long* startOffset, long* size); diff --git a/cocos/scripting/js-bindings/manual/jsb_global.cpp b/cocos/scripting/js-bindings/manual/jsb_global.cpp index 15a1c49..f827056 100644 --- a/cocos/scripting/js-bindings/manual/jsb_global.cpp +++ b/cocos/scripting/js-bindings/manual/jsb_global.cpp @@ -893,6 +893,40 @@ static bool JSB_signWithTiktok(se::State& s) } SE_BIND_FUNC(JSB_signWithTiktok) +static bool JSB_signWithFacebook(se::State& s) +{ + const auto& args = s.args(); + size_t argc = args.size(); + CC_UNUSED bool ok = true; + if (argc > 0) { + std::string funid; + ok = seval_to_std_string(args[0], &funid); + SE_PRECONDITION2(ok, false, "funid is invalid!"); + signWithFacebookJNI(funid); + return true; + } + SE_REPORT_ERROR("wrong number of arguments: %d, was expecting %d", (int)argc, 1); + return false; +} +SE_BIND_FUNC(JSB_signWithFacebook) + +static bool JSB_signWithTwitter(se::State& s) +{ + const auto& args = s.args(); + size_t argc = args.size(); + CC_UNUSED bool ok = true; + if (argc > 0) { + std::string funid; + ok = seval_to_std_string(args[0], &funid); + SE_PRECONDITION2(ok, false, "funid is invalid!"); + signWithTwitterJNI(funid); + return true; + } + SE_REPORT_ERROR("wrong number of arguments: %d, was expecting %d", (int)argc, 1); + return false; +} +SE_BIND_FUNC(JSB_signWithTwitter) + static bool JSB_signOutGoogle(se::State& s) { const auto& args = s.args(); @@ -1210,6 +1244,8 @@ bool jsb_register_global_variables(se::Object* global) __jsbObj->defineFunction("restoreKey", _SE(JSB_restoreKey)); __jsbObj->defineFunction("signWithGoogle", _SE(JSB_signWithGoogle)); __jsbObj->defineFunction("signWithTikTok", _SE(JSB_signWithTiktok)); + __jsbObj->defineFunction("signWithFacebook", _SE(JSB_signWithFacebook)); + __jsbObj->defineFunction("signWithTwitter", _SE(JSB_signWithTwitter)); __jsbObj->defineFunction("signOutGoogle", _SE(JSB_signOutGoogle)); __jsbObj->defineFunction("showQRCode", _SE(JSB_showQRCode));