Commit 8abc19c9 by 刘鹏

openInstall 接入

parent e0bc9690
......@@ -42,12 +42,20 @@
<action android:name="com.ydl.media.ACTION_MUSIC_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<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="oxndgo"/>
</intent-filter>
</activity>
<meta-data
android:name="com.ydl.component.base.DemoGlobalConfig"
android:value="ModuleConfig" />
<meta-data
android:name="com.openinstall.APP_KEY"
android:value="oxndgo"/>
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
......
......@@ -12,6 +12,7 @@ import android.provider.Settings
import android.util.Log
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.fm.openinstall.OpenInstall
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper
import com.tbruyelle.rxpermissions2.RxPermissions
import com.umeng.analytics.MobclickAgent
......@@ -34,6 +35,8 @@ import com.ydl.confide.home.ConfideHomeActivity
import com.ydl.ydlcommon.router.YdlCommonRouterManager
import com.yidianling.common.tools.LogUtil
import com.yidianling.consultant.api.IConsultantService
import com.yidianling.user.LoginUtils
import com.yidianling.user.StatusUtils
import com.yidianling.user.ui.login.OneKeyLoginHelp
......@@ -74,9 +77,10 @@ class MainActivity : BaseLceActivity<DemoContract.View, DemoContract.Presenter>(
// YDLavManager.instances.init(this, "3387e9b251f3491e9221a9877e8f7830")
YdlCommonRouterManager.initYdlCommonRoute(PlatformTempCommonRouteImpl())
OpenInstall.init(this);// TODO: 1/29/21 统计渠道测试
StatusUtils.isUseOpenInstall = true
// 初始化一键登录sdk
OneKeyLoginHelp.sdkInit(this, OneKeyLoginHelp.YDL_USER_APP, PhoneNumberAuthHelper.SERVICE_TYPE_LOGIN)
bindService()
reLoadData()
requestPermission()
......
ext {
kotlin_version = "1.3.21"
dev_mode = false
dev_mode = true
ydlPublishVersion = [
// -------------- 业务模块 --------------
......@@ -8,7 +8,7 @@ ext {
"m-confide" : "0.0.48.91",
"m-consultant" : "0.0.59.64",
"m-fm" : "0.0.30.00",
"m-user" : "0.0.60.84",
"m-user" : "0.0.60.86",
"m-home" : "0.0.22.51",
"m-im" : "0.0.18.33",
"m-dynamic" : "0.0.7.13",
......@@ -33,7 +33,7 @@ ext {
//-------------- 功能组件 --------------
//第一步
"ydl-platform" : "0.0.39.70",
"ydl-platform" : "0.0.39.72",
//第二步 若干
"ydl-webview" : "0.0.38.34",
......@@ -91,7 +91,7 @@ ext {
"m-confide" : "0.0.48.91",
"m-consultant" : "0.0.59.44",
"m-fm" : "0.0.23.5",
"m-user" : "0.0.60.84",
"m-user" : "0.0.60.86",
"m-home" : "0.0.22.51",
"m-im" : "0.0.3.15",
"m-dynamic" : "0.0.1.7",
......@@ -114,7 +114,7 @@ ext {
//-------------- 功能组件 --------------
//第一步
"ydl-platform" : "0.0.39.70",
"ydl-platform" : "0.0.39.72",
//第二步 若干
"ydl-webview" : "0.0.38.32",
......
package com.yidianling.user
import android.app.Activity
import android.content.Context
import android.content.Intent
import com.tencent.bugly.crashreport.CrashReport
import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.BuryPointUtils
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.im.api.bean.IMLoginInfo
import com.yidianling.im.api.bean.IMRequestCallback
import com.yidianling.user.api.bean.UserResponseBean
......@@ -20,7 +18,6 @@ import com.yidianling.user.route.UserIn
import com.yidianling.user.safePrivate.FingerPrintCheckActivity
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import com.yidianling.user.ui.LoginActivity
import com.yidianling.user.ui.collect.CollectSexAndBirthActivity
import com.yidianling.user.ui.login.InputPassWordActivity
import com.yidianling.user.ui.login.OneKeyLoginHelp
......
......@@ -13,4 +13,7 @@ public class StatusUtils {
// 是否第一次启动App
public static boolean isFirstStartApp = false;
// 是否使用openInstall
public static boolean isUseOpenInstall = false;
}
......@@ -5,6 +5,9 @@ import android.content.Intent
import android.text.TextUtils
import android.util.Log
import android.view.View
import com.fm.openinstall.OpenInstall
import com.fm.openinstall.listener.AppInstallAdapter
import com.fm.openinstall.model.AppData
import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.bean.StatusBarOptions
import com.ydl.ydlcommon.data.http.RxUtils
......@@ -14,6 +17,7 @@ import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.UserInfoCache
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.yidianling.common.tools.LogUtil
import com.yidianling.im.api.bean.IMLoginInfo
import com.yidianling.im.api.bean.IMRequestCallback
import com.yidianling.user.LoginUtils
......@@ -38,7 +42,6 @@ import kotlinx.android.synthetic.main.user_activity_get_identifying_code.*
import java.util.concurrent.TimeUnit
/**
* 短信快捷登录界面
* author : Zhangwenchao
......@@ -66,7 +69,7 @@ class SmsLoginActivity : BaseActivity() {
private lateinit var phoneNum: String
private lateinit var code: String
private var isFromSplash: Boolean = false
private var openInstallKey = ""
override fun layoutResId(): Int {
return com.yidianling.user.R.layout.user_activity_get_identifying_code
......@@ -78,6 +81,7 @@ class SmsLoginActivity : BaseActivity() {
isFromSplash = intent.getBooleanExtra(KEY_SPLASH, false)
initView()
requestVCode()
}
override fun getStatusViewOptions(): StatusBarOptions {
......@@ -172,7 +176,20 @@ class SmsLoginActivity : BaseActivity() {
* 注册流程成功之后,进行百度监测 注册埋点
*/
fun baiduActionBury() {
ActionCountUtils.baiduCount(UserBIConstants.APP_REGISTER_PAGE, UserBIConstants.POSITION_CODE_REGISTER_CLICK, 25)
if (openInstallKey.isNotEmpty() && StatusUtils.isUseOpenInstall) {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_CODE_REGISTER_CLICK,
25,
openInstallKey
)
} else {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_CODE_REGISTER_CLICK,
25
)
}
}
//关闭手势解锁页面与指纹解锁页面
......@@ -245,4 +262,21 @@ class SmsLoginActivity : BaseActivity() {
}
}
/**
* CPA(CPS)推广渠道统计
* 获取安装携带的参数
* 注:1、不要在 init 之后,紧接着调用 getInstall,防止网络等问题导致 getInstall 超时,从而获取数据失败
*/
private fun getOpenInstallKey() {
OpenInstall.getInstall(object : AppInstallAdapter() {
override fun onInstall(appData: AppData) {
// 获取渠道数据 转换值同步IOS "AppData{channel='" + this.channel + '\'' + ", data='" + this.data + '\'' + '}'
openInstallKey = appData.toString().replace("AppData","").replace("channel","channelCode")
LogUtil.e("openInstallKey-openInstallKey:"+openInstallKey)
}
})
}
}
\ No newline at end of file
......@@ -20,16 +20,11 @@ import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils
import com.yidianling.user.R
import com.yidianling.user.StatusUtils
import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.ui.login.contract.IInputPassWordContract
import com.yidianling.user.ui.login.presenter.InputPassWordPresenterImpl
import kotlinx.android.synthetic.main.user_activity_input_password_new.*
import kotlinx.android.synthetic.main.user_activity_input_password_new.et_input_password
import kotlinx.android.synthetic.main.user_activity_input_password_new.img_reg_back
import kotlinx.android.synthetic.main.user_activity_input_password_new.iv_visibility
import kotlinx.android.synthetic.main.user_activity_input_password_new.tv_forget
import kotlinx.android.synthetic.main.user_activity_input_password_new.tv_msm_login
import kotlinx.android.synthetic.main.user_activity_input_password_new.view_lin
/**
* @author jiucheng
......@@ -145,7 +140,20 @@ class InputPassWordActivity : BaseMvpActivity<IInputPassWordContract.View,IInput
* 注册流程成功之后,进行百度埋点
*/
override fun baiduActionBury() {
ActionCountUtils.baiduCount(UserBIConstants.APP_REGISTER_PAGE, UserBIConstants.POSITION_PHONE_REGISTER_CLICK,25)
if (StatusUtils.isUseOpenInstall) {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_PHONE_REGISTER_CLICK,
25,
OneKeyLoginHelp.openInstallKey
)
} else {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_PHONE_REGISTER_CLICK,
25
)
}
}
......
......@@ -9,12 +9,14 @@ import android.view.View
import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView
import com.fm.openinstall.OpenInstall
import com.fm.openinstall.listener.AppInstallAdapter
import com.fm.openinstall.model.AppData
import com.meituan.android.walle.WalleChannelReader
import com.mobile.auth.gatewayauth.*
import com.mobile.auth.gatewayauth.model.TokenRet
import com.ydl.ydlcommon.base.BaseActivity
import com.ydl.ydlcommon.base.BaseApp
import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.JPushUtils
import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.YDLCacheUtils
......@@ -30,7 +32,6 @@ import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.http.LoginApiRequestUtil
import com.yidianling.user.http.request.PhoneLoginAutoParam
import com.yidianling.user.route.UserIn
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import java.math.BigDecimal
......@@ -59,7 +60,7 @@ object OneKeyLoginHelp {
private var checkBoxHidden = true // 协议勾选框是否展示
var mPrivacyBeforeText = "登录即代表您同意" // 隐私协议文案
private lateinit var mActivity: BaseActivity
var openInstallKey = ""
fun sdkInit(activity: BaseActivity, appType: Int, authType: Int) {
mActivity = activity
......@@ -90,6 +91,7 @@ object OneKeyLoginHelp {
if (!checkBoxHidden){
mPrivacyBeforeText = "同意"
}
getOpenInstallKey()
}
/**
......@@ -404,7 +406,15 @@ object OneKeyLoginHelp {
if (it.data.firstLogin == 1) {//第一次登录:是注册
StatusUtils.isFirstLogin = true
// 埋点
ActionCountUtils.baiduCount(it.data.uid, UserBIConstants.APP_REGISTER_PAGE, UserBIConstants.POSITION_ALIYUN_REGISTER_CLICK, "", "", 25)
ActionCountUtils.baiduCount(
it.data.uid,
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_ALIYUN_REGISTER_CLICK,
"",
"",
25,
openInstallKey
)
} else {
ActionCountUtils.countUid(UserBIConstants.POSITION_LOGIN_SUCCESS_CLICK,it.data.uid!!,UserBIConstants.ACTION_TYPE_ONE_KEY_CLICK)
}
......@@ -496,5 +506,17 @@ object OneKeyLoginHelp {
LogHelper.getInstance().writeLogSync("登录成功")
LoginUtils.onLogin(userResponse)
}
/**
* CPA(CPS)推广渠道统计
* 获取安装携带的参数
* 注:1、不要在 init 之后,紧接着调用 getInstall,防止网络等问题导致 getInstall 超时,从而获取数据失败
*/
private fun getOpenInstallKey() {
OpenInstall.getInstall(object : AppInstallAdapter() {
override fun onInstall(appData: AppData) {
// 获取渠道数据 转换值同步IOS "AppData{channel='" + this.channel + '\'' + ", data='" + this.data + '\'' + '}'
openInstallKey = appData.toString().replace("AppData","").replace("channel","channelCode")
}
})
}
}
......@@ -16,6 +16,9 @@ import android.text.style.ClickableSpan
import android.view.View
import android.view.animation.AnimationUtils
import com.alibaba.android.arouter.facade.annotation.Route
import com.fm.openinstall.OpenInstall
import com.fm.openinstall.listener.AppInstallAdapter
import com.fm.openinstall.model.AppData
import com.meituan.android.walle.WalleChannelReader
import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper
import com.mobile.auth.gatewayauth.ResultCode
......@@ -183,7 +186,8 @@ class RegisterAndLoginActivity : BaseMvpActivity<ILoginContract.View, ILoginCont
positionClick,
"",
"",
25
25,
OneKeyLoginHelp.openInstallKey
)
}
......
......@@ -12,6 +12,9 @@ import android.view.View
import android.view.animation.AnimationUtils
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import com.fm.openinstall.OpenInstall
import com.fm.openinstall.listener.AppInstallAdapter
import com.fm.openinstall.model.AppData
import com.ydl.ydlcommon.base.BaseMvpActivity
import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.StatusBarUtils
......@@ -22,6 +25,7 @@ import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils
import com.yidianling.user.R
import com.yidianling.user.StatusUtils
import com.yidianling.user.UserHelper
import com.yidianling.user.constants.UserBIConstants
import com.yidianling.user.http.request.BindPhoneJavaParam
......@@ -35,7 +39,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.user_activity_verification_code_new.*
import kotlinx.android.synthetic.main.user_activity_verification_code_new.img_reg_back
import java.util.concurrent.TimeUnit
/**
......@@ -56,6 +59,7 @@ class VerificationCodeActivity :
private var countryCode: String? = null
private var msgCodeDispoable: Disposable? = null
private var mKeFuDialog: ZDialog? = null
companion object {
var STATUS_FORGET_PWD = 1//忘记密码界面
var STATUS_LOGIN_BY_CODE = 2//验证码登录界面
......@@ -270,11 +274,20 @@ class VerificationCodeActivity :
override fun baiduActionBury() {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_CODE_REGISTER_CLICK,
25
)
if (StatusUtils.isUseOpenInstall) {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_CODE_REGISTER_CLICK,
25,
OneKeyLoginHelp.openInstallKey
)
} else {
ActionCountUtils.baiduCount(
UserBIConstants.APP_REGISTER_PAGE,
UserBIConstants.POSITION_CODE_REGISTER_CLICK,
25
)
}
}
override fun verificationErrorCode() {
......@@ -454,4 +467,5 @@ class VerificationCodeActivity :
.show()
}
}
}
package com.ydl.ydlcommon.utils.actionutil
//import com.bun.miitmdid.content.ContextKeeper
//import com.ydl.devicesidlib.DemoHelper
import android.annotation.SuppressLint
import android.content.Context
import android.net.ConnectivityManager
......@@ -9,10 +11,7 @@ import android.os.Build
import android.provider.Settings
import android.text.TextUtils
import android.util.Log
//import com.bun.miitmdid.content.ContextKeeper
import com.google.gson.Gson
import com.ydl.burypointlib.MD5Util
//import com.ydl.devicesidlib.DemoHelper
import com.ydl.devicesidlib.DeviceIDHelper
import com.ydl.devicesidlib.Utils
import com.ydl.ydlcommon.base.BaseApp
......@@ -197,16 +196,34 @@ class ActionCountUtils {
*/
fun baiduCount(partId: String, position: String, convertType: Int) {
val userId = ModularServiceManager.getPlatformUserService()?.getUser()?.userId ?: ""
baiduCount(userId, partId, position, "", "", convertType)
baiduCount(userId, partId, position, "", "", convertType,"")
}
/**
* 百度检测数据埋点调用的方法
*/
fun baiduCount(partId: String, position: String, convertType: Int, openInstallKey: String) {
val userId = ModularServiceManager.getPlatformUserService()?.getUser()?.userId ?: ""
baiduCount(userId, partId, position, "", "", convertType,"")
}
/**
* 百度检测数据埋点调用的方法
*/
fun baiduCount( uid: String?, partId: String, position: String, url: String, api: String, convertType: Int) {
val userId = ModularServiceManager.getPlatformUserService()?.getUser()?.userId ?: ""
baiduCount(userId, partId, position, url, api, convertType,"")
}
/**
* @param openInstallKey openInstall统计渠道的key和Value值
* */
fun baiduCount(
uid: String?,
partId: String,
position: String,
url: String,
api: String,
convertType: Int
uid: String?,
partId: String,
position: String,
url: String,
api: String,
convertType: Int,
openInstallKey: String?
) {
try {
val actionDataParams = ActionDataBean.Builder()
......@@ -279,6 +296,8 @@ class ActionCountUtils {
Log.e("Action", "---------$gson")
actionDataParams.sign2(gson)
actionDataParams.sign3(YdlCommonOut.getChannelName())
//openInstall渠道统计
openInstallKey?.let { actionDataParams.sign4(it) }
//剩余额外参数根据需求定义
......
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