openinstall的作用:
第一步:登入openinstall官网,没有账号就注册个
第二步:没有应用就添加一个应用(选择高级版)
第三步:下载导入sdk(其实就一个jar)
dependencies {
implementation files('libs/OpenInstall_v2.3.0.jar')
}
第四步:在AndroidManifest.xml中添加权限声明
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
第五步:在AndroidManifest.xml的application标签内设置AppKey
<meta-data
android:name="com.openinstall.APP_KEY"
android:value="******"/>
第六步:在application里添加初始化代码
@Override
public void onCreate() {
super.onCreate();
if (isMainProcess()) {
openInstall();
}
}
//判断是否是主进程
public boolean isMainProcess() {
int pid = android.os.Process.myPid();
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : activityManager.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
return getApplicationInfo().packageName.equals(appProcess.processName);
}
}
return false;
}
第七步:在AndroidManifest.xml里指定自己的application
<application
android:name=".TestApplication"
/>
第八步:实现快速下载
第九步:携带参数安装,在application里添加以下代码
private void openInstall() {
//初始化
OpenInstall.init(this);
//携带参数安装
OpenInstall.getInstall(new AppInstallAdapter() {
@Override
public void onInstall(AppData appData) {
Log.d(TAG, "appData=" + appData);
//获取渠道数据
channelCode = appData.getChannel();
//获取自定义数据
try {
duanzishou = new JSONObject(appData.getData()).optString("duanzishou");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
第十步:测试携带参数安装
第十一步:在需要一键拉起的activity里添加代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OpenInstall.getWakeUp(getIntent(), wakeUpAdapter);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// 此处要调用,否则App在后台运行时,会无法截获
OpenInstall.getWakeUp(intent, wakeUpAdapter);
}
AppWakeUpAdapter wakeUpAdapter = new AppWakeUpAdapter() {
@Override
public void onWakeUp(AppData appData) {
//获取渠道数据
String channelCode = appData.getChannel();
//获取绑定数据
String bindData = appData.getData();
Log.d("appData", "getWakeUp : wakeupData = " + appData.toString());
}
};
@Override
protected void onDestroy() {
super.onDestroy();
wakeUpAdapter = null;
}
第十二步:在AndroidManifest.xml的唤醒页面activity标签中添加intent-filter(一般为MainActivity),配置scheme,用于浏览器中拉起
<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="******"/>
</intent-filter>
第十三步:上传apk,设置自定义参数和值,生成链接和二维码,扫下二维码,手机跳转到链接的界面,点击立即使用,就自动跳转到程序上
第十四步:查看一键拉起的获取的参数的值
第十五步:配置渠道参数
https://app-*****.openinstall.io/channel-landing?channelCode=00000111(这里有渠道信息channelCode,但是这个链接没有自定义参数,上面有自定义有参数的链接但是没有渠道信息,如果我两个都想要,(这个连接都是后台生成,后台给的,我这里就拼接下)https://app-*********.openinstall.io/js-test/android/1047412755738029502?duanzishou=%E5%A4%A7%E5%BC%A0%E4%BC%9F&channelCode=00000111)
第十六步:将拼接的链接在草料二维码网站(https://cli.im/url)生成二维码
第十七步:扫二维码,下载apk,安装,打开,测试参数有没有获取到
第十八步:注册量统计(看业务需求)
//用户注册成功后调用OpenInstall.reportRegister();
第十九步:看应用统计和渠道报表
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/69942334/viewspace-2667921/