openinstall的作用:
登入openinstall官网,没有账号就注册个
没有应用就添加一个应用(选择高级版)
下载导入sdk(其实就一个jar)
将下载的OpenInstall_v2.3.0.jar放入到libs文件夹下,然后在build.gradle下添加:
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里添加初始化代码
@Overridepublic 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(); } } });}
测试携带参数安装
(应用场景就是邀请别人免填邀请码下载安装等,邀请码的信息在链接的自定义参数里,比如下载链接https://app-**********.openinstall.io/channel-landing?phoneNumber=13***********,被邀请的用户安装后,openinstall获取自定义参数,然后可以在注册的时候,通过接口将这个参数值上传到后台服务器)
在openinstall官网,点击Android集成,点击APK包,点击上传APK文件
在这个界面下面的列表里,点击测试
在弹出的框里的key写入在application里写的要获取的自定义的参数名称,点击生成测试连接
点击连接跳转到下载apk的界面,点击立即使用,下载apk,安装到手机上
删除以前的包,安装下载的包到手机上,打开,看结果(channel没设置,自定义参数获取到了)
第十一步:在需要一键拉起的activity里添加代码
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); OpenInstall.getWakeUp(getIntent(), wakeUpAdapter);}@Overrideprotected 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()); }};@Overrideprotected 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();
第十九步:看应用统计和渠道报表