Commit 98fe40b9 by sikang

å添加FB深度链接 FB初始化

parent 783ef439
...@@ -15,6 +15,13 @@ android{ ...@@ -15,6 +15,13 @@ android{
buildConfigField 'String', 'TONGDUN_DEVICE_PARENT_CODE', '\"\"' buildConfigField 'String', 'TONGDUN_DEVICE_PARENT_CODE', '\"\"'
} }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions { lintOptions {
disable 'GoogleAppIndexingWarning' disable 'GoogleAppIndexingWarning'
} }
......
...@@ -71,6 +71,9 @@ dependencies { ...@@ -71,6 +71,9 @@ dependencies {
//SDK-TD-START //SDK-TD-START
api(name: 'android_spirit-20190220-2.0.0.1', ext: 'aar') api(name: 'android_spirit-20190220-2.0.0.1', ext: 'aar')
//SDK-TD-END //SDK-TD-END
api(name: 'libfbref-release', ext: 'aar')
api 'com.alibaba:fastjson:1.1.58.android' api 'com.alibaba:fastjson:1.1.58.android'
//QMUI //QMUI
......
...@@ -18,37 +18,12 @@ ...@@ -18,37 +18,12 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *; # public *;
#} #}
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
#-ignorewarnings
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dontwarn dalvik.**
# 保护注解
-keepattributes *Annotation*
# 避免混淆泛型
-keepattributes Signature
# 避免混淆反射
-keepattributes EnclosingMethod
# 抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
# 不混淆内部类
-keepattributes InnerClasses
-ignorewarnings -ignorewarnings
-obfuscationdictionary dic.txt
-classobfuscationdictionary dic.txt
-packageobfuscationdictionary dic.txt
#指定代码的压缩级别 #指定代码的压缩级别
-optimizationpasses 5 -optimizationpasses 5
#包明不混合大小写 #包明不混合大小写bugly
-dontusemixedcaseclassnames -dontusemixedcaseclassnames
#不去忽略非公共的库类 #不去忽略非公共的库类
...@@ -461,10 +436,6 @@ ...@@ -461,10 +436,6 @@
-dontskipnonpubliclibraryclassmembers -dontskipnonpubliclibraryclassmembers
-dontwarn dalvik.** -dontwarn dalvik.**
-dontwarn com.tencent.smtt.** -dontwarn com.tencent.smtt.**
-dontwarn android.os.**
-dontwarn com.android.internal.**
-keep class cn.tongdun.android.**{*;}
#-overloadaggressively #-overloadaggressively
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
......
...@@ -17,6 +17,48 @@ public class DisplayBean implements Serializable { ...@@ -17,6 +17,48 @@ public class DisplayBean implements Serializable {
private String advanceFaceRecognitionSecretKey; private String advanceFaceRecognitionSecretKey;
private String advancePictureQualityAccessKey; private String advancePictureQualityAccessKey;
private String advancePictureQualitySecretKey; private String advancePictureQualitySecretKey;
private AccountKitInfo accountKitInfo;
public class AccountKitInfo implements Serializable {
String applicationId;
String applicationSecret;
String appClientToken;
public String getApplicationId() {
return applicationId;
}
public void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
public String getApplicationSecret() {
return applicationSecret;
}
public void setApplicationSecret(String applicationSecret) {
this.applicationSecret = applicationSecret;
}
public String getAppClientToken() {
return appClientToken;
}
public void setAppClientToken(String appClientToken) {
this.appClientToken = appClientToken;
}
}
public AccountKitInfo getAccountKitInfo() {
return accountKitInfo;
}
public void setAccountKitInfo(AccountKitInfo accountKitInfo) {
this.accountKitInfo = accountKitInfo;
}
private long updateTime; private long updateTime;
public String getAdvanceFaceRecognitionAccessKey() { public String getAdvanceFaceRecognitionAccessKey() {
......
...@@ -20,6 +20,7 @@ import io.reactivex.functions.Predicate; ...@@ -20,6 +20,7 @@ import io.reactivex.functions.Predicate;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import tech.starwin.LibConfig;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.constants.ActionEnum; import tech.starwin.constants.ActionEnum;
import tech.starwin.constants.TrackEvent; import tech.starwin.constants.TrackEvent;
...@@ -42,9 +43,11 @@ import com.common.bean.RecordFilesResponse; ...@@ -42,9 +43,11 @@ import com.common.bean.RecordFilesResponse;
import com.common.bean.TokenInfoBean; import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo; import com.common.bean.UserBankInfo;
import com.common.bean.UserBean; import com.common.bean.UserBean;
import com.facebook.libfbref.FbDeepLink;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
import tech.starwin.network.ServiceGenerator; import tech.starwin.network.ServiceGenerator;
import tech.starwin.utils.AccountKitUtils;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.network.tools.MultipartBodyMaker; import tech.starwin.network.tools.MultipartBodyMaker;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
...@@ -60,6 +63,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -60,6 +63,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
public void notifyGateway() { public void notifyGateway() {
FbDeepLink.fetchDeepLink();
Observable.fromIterable(Gateway.getGatewayUrl()) Observable.fromIterable(Gateway.getGatewayUrl())
.observeOn(Schedulers.io()) .observeOn(Schedulers.io())
.concatMap(new Function<String, ObservableSource<GatewayInfoBean>>() { .concatMap(new Function<String, ObservableSource<GatewayInfoBean>>() {
...@@ -85,7 +89,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -85,7 +89,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
public void accept(GatewayInfoBean gatewayInfoBean) throws Exception { public void accept(GatewayInfoBean gatewayInfoBean) throws Exception {
Gateway.setGatewayInfoBean(gatewayInfoBean); Gateway.setGatewayInfoBean(gatewayInfoBean);
getCustomerMsg(""); getCustomerMsg("");
view.onHttpSuccess("",null); view.onHttpSuccess("", null);
EventBus.getDefault().post(ActionEnum.GATEWAY_UPDATED); EventBus.getDefault().post(ActionEnum.GATEWAY_UPDATED);
} }
}); });
...@@ -556,6 +560,13 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -556,6 +560,13 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(DisplayBean data) { public void onSuccess(DisplayBean data) {
if (data.getAccountKitInfo() != null) {
String appId = data.getAccountKitInfo().getApplicationId();
String token = data.getAccountKitInfo().getAppClientToken();
if (!TextUtils.isEmpty(appId) && !TextUtils.isEmpty(token)) {
AccountKitUtils.initAccountKit(appId, LibConfig.APP_NAME, token);
}
}
data.setUpdateTime(System.currentTimeMillis()); data.setUpdateTime(System.currentTimeMillis());
PreferencesManager.get().saveCustomerInfo(data); PreferencesManager.get().saveCustomerInfo(data);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
......
package tech.starwin.network; package tech.starwin.network;
import android.text.TextUtils;
import com.facebook.libfbref.FbDeepLink;
import java.io.IOException; import java.io.IOException;
import okhttp3.Headers; import okhttp3.Headers;
...@@ -29,10 +33,11 @@ public class FirebaseHeaderInterceptor implements Interceptor { ...@@ -29,10 +33,11 @@ public class FirebaseHeaderInterceptor implements Interceptor {
try { try {
if (newRequest != null) { if (newRequest != null) {
String referrer = FbDeepLink.getFbReferrer();
Request.Builder builder = chain.request().newBuilder(); Request.Builder builder = chain.request().newBuilder();
LogUtils.d(TAG,"android_id: "+ AppInfoUtils.getAndroidID(LibConfig.getContext())); LogUtils.d(TAG, "android_id: " + AppInfoUtils.getAndroidID(LibConfig.getContext()));
builder.addHeader("X-REFERRER", PreferencesManager.get().getInstallReferrer()) builder.addHeader("X-REFERRER", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrer() : referrer)
.addHeader("X-REFERRER-SDK", PreferencesManager.get().getInstallReferrerFromSDK()) .addHeader("X-REFERRER-SDK", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrerFromSDK() : referrer)
.addHeader("X-ANDROID-ID", AppInfoUtils.getAndroidID(LibConfig.getContext())); .addHeader("X-ANDROID-ID", AppInfoUtils.getAndroidID(LibConfig.getContext()));
//登录后的上传 //登录后的上传
......
package tech.starwin.utils;
import com.facebook.accountkit.internal.AccountKitController;
import com.facebook.accountkit.internal.Initializer;
import java.lang.reflect.Field;
public class AccountKitUtils {
public static boolean initAccountKit(String facebookAppId, String appName, String accoutkitClientToken) {
try {
if (facebookAppId.equals(PreferencesManager.get().getAccountAppId()) && accoutkitClientToken.equals(PreferencesManager.get().getAccountKitToken())) {
return false;
}
PreferencesManager.get().saveAccountAppId(facebookAppId);
PreferencesManager.get().saveAccountKitToken(accoutkitClientToken);
Class clazz = AccountKitController.class;
Field initializerField = clazz.getDeclaredField("initializer");
initializerField.setAccessible(true);
Initializer initializer = (Initializer) initializerField.get(clazz);
Field dataFiled = initializer.getClass().getDeclaredField("data");
dataFiled.setAccessible(true);
Object data = dataFiled.get(initializer);
Field applicationIdF = data.getClass().getDeclaredField("applicationId");
applicationIdF.setAccessible(true);
Field applicationNameF = data.getClass().getDeclaredField("applicationName");
applicationNameF.setAccessible(true);
Field clientTokenF = data.getClass().getDeclaredField("clientToken");
clientTokenF.setAccessible(true);
applicationIdF.set(data, facebookAppId);
applicationNameF.set(data, appName);
clientTokenF.set(data, accoutkitClientToken);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
...@@ -157,6 +157,25 @@ public class PreferencesManager { ...@@ -157,6 +157,25 @@ public class PreferencesManager {
/** /**
* Account Kit配置
*/
public void saveAccountKitToken(String sessionId) {
saveData("account_kit_token", sessionId);
}
public String getAccountKitToken() {
return getString("account_kit_token", "");
}
public void saveAccountAppId(String sessionId) {
saveData("account_kit_appid", sessionId);
}
public String getAccountAppId() {
return getString("account_kit_appid", "");
}
/**
* 保存上传用户数据时使用的sessionId * 保存上传用户数据时使用的sessionId
*/ */
public void saveSessionId(String sessionId) { public void saveSessionId(String sessionId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment