diff --git a/cocos/platform/android/jni/JniImp.cpp b/cocos/platform/android/jni/JniImp.cpp index 91874ac..7e47c8b 100644 --- a/cocos/platform/android/jni/JniImp.cpp +++ b/cocos/platform/android/jni/JniImp.cpp @@ -688,6 +688,17 @@ void signOutGoogleJNI(const std::string& funid) JniHelper::callStaticVoidMethod(JCSDK, "signOutGoogle", funid); } +void signWithFacebookJNI(const std::string& funid) +{ + JniHelper::callStaticVoidMethod(JCSDK, "signWithFacebook", funid); +} + +void signWithTwitterJNI(const std::string& funid) +{ + JniHelper::callStaticVoidMethod(JCSDK, "signWithTwitter", funid); +} + + void callJcVoidMethodJNI(const std::string& funid, const std::string& method_name) { JniHelper::callStaticVoidMethod(JCSDK, method_name, funid); diff --git a/cocos/platform/android/jni/JniImp.h b/cocos/platform/android/jni/JniImp.h index c6303f3..8f06d28 100644 --- a/cocos/platform/android/jni/JniImp.h +++ b/cocos/platform/android/jni/JniImp.h @@ -42,6 +42,8 @@ void loadRestoreKeyJNI(const std::string& funid, const std::string& oid); void signWithGoogleJNI(const std::string& funid); void signWithTiktokJNI(const std::string& funid); void signOutGoogleJNI(const std::string& funid); +void signWithFacebookJNI(const std::string& funid); +void signWithTwitterJNI(const std::string& funid); void callJcVoidMethodJNI(const std::string& funid, const std::string& method_name); 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 028bce3..ce4fcf9 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_callJcVoidMethodJNI(se::State& s) { const auto& args = s.args(); @@ -1229,6 +1263,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("callJcVoidMethodJNI", _SE(JSB_callJcVoidMethodJNI)); __jsbObj->defineFunction("signOutGoogle", _SE(JSB_signOutGoogle)); __jsbObj->defineFunction("showQRCode", _SE(JSB_showQRCode));