Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
43219a5f09 | ||
![]() |
b06c742f4d | ||
![]() |
e26450ec99 | ||
![]() |
9dca7a7fae |
File diff suppressed because one or more lines are too long
@ -15,6 +15,8 @@
|
|||||||
<!-- Tell Cocos2dxActivity the name of our .so -->
|
<!-- Tell Cocos2dxActivity the name of our .so -->
|
||||||
<meta-data android:name="android.app.lib_name"
|
<meta-data android:name="android.app.lib_name"
|
||||||
android:value="cocos2djs" />
|
android:value="cocos2djs" />
|
||||||
|
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
|
||||||
|
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="com.cege.games.release.provider"
|
android:authorities="com.cege.games.release.provider"
|
||||||
@ -35,7 +37,6 @@
|
|||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>
|
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
@ -76,6 +77,20 @@
|
|||||||
android:name=".tiktokapi.TikTokEntryActivity"
|
android:name=".tiktokapi.TikTokEntryActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
</activity>
|
</activity>
|
||||||
|
<activity android:name="com.facebook.FacebookActivity"
|
||||||
|
android:configChanges=
|
||||||
|
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
|
||||||
|
android:label="@string/app_name" />
|
||||||
|
<activity
|
||||||
|
android:name="com.facebook.CustomTabActivity"
|
||||||
|
android:exported="true">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
<data android:scheme="@string/fb_login_protocol_scheme" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
<service android:name ="com.youme.voiceengine.VoiceEngineService"
|
<service android:name ="com.youme.voiceengine.VoiceEngineService"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
@ -129,5 +144,7 @@
|
|||||||
<queries>
|
<queries>
|
||||||
<package android:name="com.zhiliaoapp.musically" />
|
<package android:name="com.zhiliaoapp.musically" />
|
||||||
<package android:name="com.ss.android.ugc.trill" />
|
<package android:name="com.ss.android.ugc.trill" />
|
||||||
|
<provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> <!-- allows app to access Facebook app features -->
|
||||||
|
<provider android:authorities="com.facebook.orca.provider.PlatformProvider" /> <!-- allows sharing to Messenger app -->
|
||||||
</queries>
|
</queries>
|
||||||
</manifest>
|
</manifest>
|
@ -135,4 +135,5 @@ dependencies {
|
|||||||
implementation 'org.greenrobot:eventbus:3.0.0'
|
implementation 'org.greenrobot:eventbus:3.0.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||||
implementation 'com.bytedance.ies.ugc.aweme:opensdk-oversea-external:0.2.1.0'
|
implementation 'com.bytedance.ies.ugc.aweme:opensdk-oversea-external:0.2.1.0'
|
||||||
|
implementation 'com.facebook.android:facebook-login:latest.release'
|
||||||
}
|
}
|
@ -1,20 +1,16 @@
|
|||||||
package com.cege.games.release;
|
package com.cege.games.release;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Configuration;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.view.MotionEvent;
|
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@ -23,6 +19,13 @@ import com.bytedance.sdk.open.tiktok.api.TikTokOpenApi;
|
|||||||
import com.bytedance.sdk.open.tiktok.authorize.model.Authorization;
|
import com.bytedance.sdk.open.tiktok.authorize.model.Authorization;
|
||||||
import com.cege.games.release.activity.CustomCaptureActivity;
|
import com.cege.games.release.activity.CustomCaptureActivity;
|
||||||
import com.cege.games.release.dialog.QRCodeActivity;
|
import com.cege.games.release.dialog.QRCodeActivity;
|
||||||
|
import com.facebook.AccessToken;
|
||||||
|
import com.facebook.CallbackManager;
|
||||||
|
import com.facebook.FacebookCallback;
|
||||||
|
import com.facebook.FacebookException;
|
||||||
|
|
||||||
|
import com.facebook.login.LoginManager;
|
||||||
|
import com.facebook.login.LoginResult;
|
||||||
import com.google.android.gms.auth.api.signin.GoogleSignIn;
|
import com.google.android.gms.auth.api.signin.GoogleSignIn;
|
||||||
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
|
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
|
||||||
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
|
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
|
||||||
@ -60,6 +63,7 @@ import net.openid.appauth.browser.BrowserMatcher;
|
|||||||
import org.cocos2dx.lib.Cocos2dxHelper;
|
import org.cocos2dx.lib.Cocos2dxHelper;
|
||||||
import org.cocos2dx.lib.CocosJSHelper;
|
import org.cocos2dx.lib.CocosJSHelper;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
@ -83,7 +87,6 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
private static final String TAG = MainActivity.class.getSimpleName();
|
private static final String TAG = MainActivity.class.getSimpleName();
|
||||||
|
|
||||||
public static MainActivity app;
|
public static MainActivity app;
|
||||||
// protected UnityPlayer mUnityPlayer;
|
|
||||||
private Toast toast;
|
private Toast toast;
|
||||||
|
|
||||||
public static final String KEY_TITLE = "key_title";
|
public static final String KEY_TITLE = "key_title";
|
||||||
@ -128,7 +131,8 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
private final BrowserMatcher mBrowserMatcher = AnyBrowserMatcher.INSTANCE;
|
private final BrowserMatcher mBrowserMatcher = AnyBrowserMatcher.INSTANCE;
|
||||||
|
|
||||||
private GoogleSignInClient mGoogleSignInClient;
|
private GoogleSignInClient mGoogleSignInClient;
|
||||||
|
// facebook login
|
||||||
|
private CallbackManager mCallbackManager;
|
||||||
|
|
||||||
protected String updateUnityCommandLineArguments(String cmdLine) {
|
protected String updateUnityCommandLineArguments(String cmdLine) {
|
||||||
return cmdLine;
|
return cmdLine;
|
||||||
@ -143,10 +147,6 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
String cmdLine = updateUnityCommandLineArguments(getIntent().getStringExtra("unity"));
|
String cmdLine = updateUnityCommandLineArguments(getIntent().getStringExtra("unity"));
|
||||||
getIntent().putExtra("unity", cmdLine);
|
getIntent().putExtra("unity", cmdLine);
|
||||||
|
|
||||||
// mUnityPlayer = new UnityPlayer(this);
|
|
||||||
// setContentView(mUnityPlayer);
|
|
||||||
// mUnityPlayer.requestFocus();
|
|
||||||
|
|
||||||
onLoadNativeLibraries();
|
onLoadNativeLibraries();
|
||||||
app = this;
|
app = this;
|
||||||
Cocos2dxHelper.init(this);
|
Cocos2dxHelper.init(this);
|
||||||
@ -166,11 +166,16 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
mConfiguration = JConfiguration.getInstance(this);
|
mConfiguration = JConfiguration.getInstance(this);
|
||||||
mExecutor.submit(this::initializeAppAuth);
|
mExecutor.submit(this::initializeAppAuth);
|
||||||
// end of google oauth sign
|
// end of google oauth sign
|
||||||
|
|
||||||
|
// begin of facebook login
|
||||||
|
initFacebookSDK();
|
||||||
|
// end of facebook login
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
mCallbackManager.onActivityResult(requestCode, resultCode, data);
|
||||||
if(resultCode == RESULT_OK && data!=null){
|
if(resultCode == RESULT_OK && data!=null){
|
||||||
switch (requestCode){
|
switch (requestCode){
|
||||||
case REQUEST_CODE_SCAN:
|
case REQUEST_CODE_SCAN:
|
||||||
@ -213,7 +218,6 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!next) {
|
if (!next) {
|
||||||
// JcSDK.csCallback(funId, "{errcode: 0, errmsg: 'cancel'}");
|
|
||||||
if (requestCode == RC_SIGN_IN) {
|
if (requestCode == RC_SIGN_IN) {
|
||||||
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
|
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
|
||||||
handleSignInResult(task);
|
handleSignInResult(task);
|
||||||
@ -234,20 +238,11 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
// mUnityPlayer.start();
|
|
||||||
|
|
||||||
if (mExecutor.isShutdown()) {
|
if (mExecutor.isShutdown()) {
|
||||||
mExecutor = Executors.newSingleThreadExecutor();
|
mExecutor = Executors.newSingleThreadExecutor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resume Unity
|
|
||||||
@Override
|
|
||||||
protected void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
// mUnityPlayer.resume();
|
|
||||||
}
|
|
||||||
|
|
||||||
// begin for unity
|
// begin for unity
|
||||||
@Override
|
@Override
|
||||||
protected void onNewIntent(Intent intent) {
|
protected void onNewIntent(Intent intent) {
|
||||||
@ -258,86 +253,6 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
setIntent(intent);
|
setIntent(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pause Unity
|
|
||||||
@Override
|
|
||||||
protected void onPause() {
|
|
||||||
super.onPause();
|
|
||||||
// mUnityPlayer.pause();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStop() {
|
|
||||||
super.onStop();
|
|
||||||
// mUnityPlayer.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Quit Unity
|
|
||||||
@Override
|
|
||||||
protected void onDestroy() {
|
|
||||||
// mUnityPlayer.destroy();
|
|
||||||
super.onDestroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
// This ensures the layout will be correct.
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration newConfig) {
|
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
// mUnityPlayer.configurationChanged(newConfig);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Low Memory Unity
|
|
||||||
@Override
|
|
||||||
public void onLowMemory() {
|
|
||||||
super.onLowMemory();
|
|
||||||
// mUnityPlayer.lowMemory();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Trim Memory Unity
|
|
||||||
@Override
|
|
||||||
public void onTrimMemory(int level) {
|
|
||||||
super.onTrimMemory(level);
|
|
||||||
if (level == TRIM_MEMORY_RUNNING_CRITICAL) {
|
|
||||||
// mUnityPlayer.lowMemory();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
||||||
// return mUnityPlayer.injectEvent(event);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Pass any events not handled by (unfocused) views straight to UnityPlayer
|
|
||||||
// @Override
|
|
||||||
// public boolean onKeyUp(int keyCode, KeyEvent event) {
|
|
||||||
// return mUnityPlayer.injectEvent(event);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public boolean onTouchEvent(MotionEvent event) {
|
|
||||||
// return mUnityPlayer.injectEvent(event);
|
|
||||||
// }
|
|
||||||
|
|
||||||
/*API12*/
|
|
||||||
// public boolean onGenericMotionEvent(MotionEvent event) {
|
|
||||||
// return mUnityPlayer.injectEvent(event);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Notify Unity of the focus change.
|
|
||||||
@Override
|
|
||||||
public void onWindowFocusChanged(boolean hasFocus) {
|
|
||||||
super.onWindowFocusChanged(hasFocus);
|
|
||||||
// mUnityPlayer.windowFocusChanged(hasFocus);
|
|
||||||
}
|
|
||||||
|
|
||||||
// For some reason the multiple keyevent type is not supported by the ndk.
|
|
||||||
// Force event injection by overriding dispatchKeyEvent().
|
|
||||||
@Override
|
|
||||||
public boolean dispatchKeyEvent(KeyEvent event) {
|
|
||||||
// if (event.getAction() == KeyEvent.ACTION_MULTIPLE)
|
|
||||||
// return mUnityPlayer.injectEvent(event);
|
|
||||||
return super.dispatchKeyEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onLoadNativeLibraries() {
|
protected void onLoadNativeLibraries() {
|
||||||
try {
|
try {
|
||||||
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
|
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
|
||||||
@ -529,7 +444,7 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "already login, accessToken not expired");
|
Log.w(TAG, "already login, accessToken not expired");
|
||||||
Log.w(TAG, "id token : " + state.getIdToken());
|
Log.w(TAG, "id token : " + state.getIdToken());
|
||||||
runOnUiThread(() -> verifyGoogleIDToken(state.getIdToken()));
|
runOnUiThread(() -> successSdkCb(state.getIdToken()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mExecutor.submit(this::doAuth);
|
mExecutor.submit(this::doAuth);
|
||||||
@ -549,7 +464,7 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
|
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
|
||||||
Log.w(TAG, "signIn success: ");
|
Log.w(TAG, "signIn success: ");
|
||||||
Log.w(TAG, "gsa idToken: " + account.getIdToken());
|
Log.w(TAG, "gsa idToken: " + account.getIdToken());
|
||||||
runOnUiThread(() -> verifyGoogleIDToken(account.getIdToken()));
|
runOnUiThread(() -> successSdkCb(account.getIdToken()));
|
||||||
// Signed in successfully, show authenticated UI.
|
// Signed in successfully, show authenticated UI.
|
||||||
} catch (ApiException e) {
|
} catch (ApiException e) {
|
||||||
// The ApiException status code indicates the detailed failure reason.
|
// The ApiException status code indicates the detailed failure reason.
|
||||||
@ -805,14 +720,19 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
Log.d(TAG, "login success, auth state: " + state.isAuthorized());
|
Log.d(TAG, "login success, auth state: " + state.isAuthorized());
|
||||||
Log.d(TAG, "app auth idToken: " + state.getIdToken());
|
Log.d(TAG, "app auth idToken: " + state.getIdToken());
|
||||||
mAuthStateManager.replace(state);
|
mAuthStateManager.replace(state);
|
||||||
runOnUiThread(() -> verifyGoogleIDToken(state.getIdToken()));
|
runOnUiThread(() -> successSdkCb(state.getIdToken()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@MainThread
|
@MainThread
|
||||||
private void verifyGoogleIDToken(String idToken) {
|
private void successSdkCb(String idToken) {
|
||||||
JcSDK.oauthCb(this.funId, null, idToken);
|
JcSDK.oauthCb(this.funId, null, idToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@MainThread
|
||||||
|
private void errorSdkCb(String errMsg) {
|
||||||
|
JcSDK.oauthCb(this.funId, errMsg, null);
|
||||||
|
}
|
||||||
|
|
||||||
// sign with tiktok
|
// sign with tiktok
|
||||||
public void signWithTiktok(String funId) {
|
public void signWithTiktok(String funId) {
|
||||||
this.funId = funId;
|
this.funId = funId;
|
||||||
@ -849,4 +769,59 @@ public class MainActivity extends UnityPlayerActivity
|
|||||||
toast.show();
|
toast.show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// begin of facebook login
|
||||||
|
private void initFacebookSDK() {
|
||||||
|
mCallbackManager = CallbackManager.Factory.create();
|
||||||
|
LoginManager.getInstance().registerCallback(mCallbackManager,
|
||||||
|
new FacebookCallback<LoginResult>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(LoginResult loginResult) {
|
||||||
|
AccessToken accessToken = AccessToken.getCurrentAccessToken();
|
||||||
|
Log.d(TAG, "Login Success:: accessToken: " + accessToken.getToken());
|
||||||
|
if (!verifyFbAccessToken(accessToken)) {
|
||||||
|
runOnUiThread(() -> errorSdkCb("access token expired"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onCancel() {
|
||||||
|
Log.d(TAG, "Login cancel");
|
||||||
|
runOnUiThread(() -> errorSdkCb("user login cancel"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(FacebookException exception) {
|
||||||
|
Log.i(TAG, "Login error: " + exception.getMessage());
|
||||||
|
runOnUiThread(() -> errorSdkCb(exception.getMessage()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void signWithFacebook(String funId) {
|
||||||
|
Log.i(TAG, "login with facebook: " + funId);
|
||||||
|
this.funId = funId;
|
||||||
|
AccessToken accessToken = AccessToken.getCurrentAccessToken();
|
||||||
|
Log.d("Success", "Login:: accessToken: " + accessToken.getToken());
|
||||||
|
if (!verifyFbAccessToken(accessToken)) {
|
||||||
|
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// AccessToken.getCurrentAccessToken();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean verifyFbAccessToken(AccessToken accessToken) {
|
||||||
|
boolean isLoggedIn = accessToken != null && !accessToken.isExpired();
|
||||||
|
if (isLoggedIn) {
|
||||||
|
runOnUiThread(() -> successSdkCb(accessToken.getToken()));
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// end of facebook login
|
||||||
|
|
||||||
|
public void signWithTwitter(String funId) {
|
||||||
|
Log.i(TAG, "login with twitter: " + funId);
|
||||||
|
this.funId = funId;
|
||||||
|
}
|
||||||
}
|
}
|
@ -80,6 +80,14 @@ public class JcSDK {
|
|||||||
MainActivity.app.signWithTiktok(funid);
|
MainActivity.app.signWithTiktok(funid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void signWithFacebook(String funid) {
|
||||||
|
MainActivity.app.signWithFacebook(funid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void signWithTwitter(String funid) {
|
||||||
|
MainActivity.app.signWithTwitter(funid);
|
||||||
|
}
|
||||||
|
|
||||||
public static void signWithGoogle(String funid) {
|
public static void signWithGoogle(String funid) {
|
||||||
MainActivity.app.signWithGoogle(funid);
|
MainActivity.app.signWithGoogle(funid);
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ buildscript {
|
|||||||
google()
|
google()
|
||||||
jcenter()
|
jcenter()
|
||||||
maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" }
|
maven { url "https://artifact.bytedance.com/repository/AwemeOpenSDK" }
|
||||||
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath "com.android.tools.build:gradle:4.1.1"
|
classpath "com.android.tools.build:gradle:4.1.1"
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">CEBG</string>
|
<string name="app_name" translatable="false">CEBG</string>
|
||||||
<string name="game_view_content_description">Game view</string>
|
<string name="game_view_content_description" translatable="false">Game view</string>
|
||||||
<string name="permission_camera">Scan QRCode need camera permission</string>
|
<string name="permission_camera" translatable="false">Scan QRCode need camera permission</string>
|
||||||
<string name="qr_code_title">QRCode</string>
|
<string name="qr_code_title" translatable="false">QRCode</string>
|
||||||
<string name="default_web_client_id">53206975661-ih3r0ubph3rqejdq97b029difbrk2bqj.apps.googleusercontent.com</string>
|
<string name="default_web_client_id">53206975661-ih3r0ubph3rqejdq97b029difbrk2bqj.apps.googleusercontent.com</string>
|
||||||
<string name="tips_scan_code"></string>
|
<string name="tips_scan_code" translatable="false"></string>
|
||||||
|
|
||||||
|
<string name="facebook_app_id" translatable="false">1204701000119770</string>
|
||||||
|
<string name="fb_login_protocol_scheme" translatable="false">fb1204701000119770</string>
|
||||||
|
<string name="facebook_client_token" translatable="false">3e29f2606ae15a99bb3824d2ef1a9d0b</string>
|
||||||
</resources>
|
</resources>
|
Loading…
x
Reference in New Issue
Block a user