ITPub博客

首页 > 应用开发 > IT综合 > 【Openinstall】Android端集成及基本使用

【Openinstall】Android端集成及基本使用

IT综合 作者:lp匿名 时间:2019-12-10 17:52:45 0 删除 编辑

openinstall - 产品概述

1.首先贴出openinstall文档(点我查看)

2.工作流程如下

 

3.携带参数安装

Openinstall的核心价值在于,帮助Android/iOS开发者精确的获取App每一次安装的分享(或推广)来源。

4.渠道统计

openinstall在精准的App分享来源跟踪的技术上,开发了免打包、跨平台的App推广渠道统计功能。

5.快速安装与一键拉起

Android SDK 集成指南

Android SDK 集成指南

一、下载并导入 SDK

二、初始化

三、功能集成

1. 快速下载

2. 一键拉起

3. 携带参数安装

4. 渠道统计


一、下载并导入 SDK

从 下载中心 下载 Android 最新版本 SDK

从下载的文件中,将 jar 文件拷贝到项目的 libs 文件夹中,并使用 gradle 导入

  implementation files('libs/OpenInstall_vX.X.X.jar')


或者导入 libs 目录中所有 jar 文件

    implementation fileTree(dir: 'libs', include: ['*.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="OPENINSTALL_APPKEY"/>


 

备注: 将 OPENINSTALL_APPKEY 替换成 openinstall 为应用分配的 appkey

App 启动时,调用 OpenInstall.init(context) 方法完成 sdk 初始化

 

示例代码

在自定义 Application 中初始化为例

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        if (isMainProcess()) {
         OpenInstall.init(this);
        }
    }


 

<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isMainProcess</span><span class="hljs-params">()</span> </span>
{
    <span class="hljs-keyword">int</span> pid = android.os.Process.myPid();
    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    <span class="hljs-keyword">for</span> (ActivityManager.RunningAppProcessInfo appProcess : activityManager.getRunningAppProcesses()) {
        <span class="hljs-keyword">if</span> (appProcess.pid == pid) {
            <span class="hljs-keyword">return</span> getApplicationInfo().packageName.equals(appProcess.processName);
        }
    }
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;
}

备注: 当应用存在多个进程时,确保只在主进程进行初始化

 

在 AndroidManifest.xml 中的 application 标签中添加 android:name=".MyApplication "指定自定义的 Application 类,以便程序启动的时候初始化自定义 Application 类,而不是系统默认的 Application 类

<application
android:name=".MyApplication"
android:allowBackup=“false”
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:supportsRtl=“true”
android:theme="@style/AppTheme">
…
</application>

三、功能集成

1. 快速下载

如果只需要快速下载功能,无需其它功能(携带参数安装、渠道统计、一键拉起),完成初始化即可

2. 一键拉起

2.1 在AndroidManifest.xml的拉起页面activity标签中添加intent-filter(一般为MainActivity),配置scheme,用于浏览器中拉起

<activity
android:name=".MainActivity"
android:launchMode=“singleTask”>
<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=“OPENINSTALL_SCHEME”/>
</intent-filter>
</activity>


 

如果拉起页面和启动页是同一 Activity ,则 AndroidManifest.xml 的配置如下

<activity
android:name=".MainActivity"
android:launchMode=“singleTask”>
<intent-filter>
<action android:name=“android.intent.action.MAIN”/>
<category android:name=“android.intent.category.LAUNCHER”/>
</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=“OPENINSTALL_SCHEME”/>
</intent-filter>
</activity>


 

备注: 将 OPENINSTALL_SCHEME 配置成 openinstall 为应用分配的 scheme

2.2 在拉起页面中如下调用相关代码,获取 web 端传过来的动态参数

public class MainActivity extends Activity {
@Override
public 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(“OpenInstall”, "getWakeUp : wakeupData = " + appData.toString());
}
};
@Override
protected void onDestroy() {
super.onDestroy();
wakeUpAdapter = null;
}
}


 

3. 携带参数安装(高级版功能)

在 APP 需要安装参数时(由 web 网页中传递过来的,如邀请码、游戏房间号等动态参数),调用 OpenInstall.getInstall 方法,在回调中获取参数(可重复获取)

OpenInstall.getInstall(new AppInstallAdapter() {
@Override
public void onInstall(AppData appData) {
//获取渠道数据
String channelCode = appData.getChannel();
//获取自定义数据
String bindData = appData.getData();
Log.d(“OpenInstall”, "getInstall : installData = " + appData.toString());
}
});


4. 渠道统计(高级版功能)

SDK 会自动完成访问量、点击量、安装量、活跃量、留存率等统计工作。

4.1 注册量统计

如需统计每个渠道的注册量(对评估渠道质量很重要),可根据自身的业务规则,在确保用户完成 app 注册的情况下调用以下接口:

//用户注册成功后调用
OpenInstall.reportRegister();


 

4.2 渠道效果统计

效果点建立在渠道基础之上,主要用来统计终端用户对某些特殊业务的使用效果,如充值金额,分享次数等等。

调用接口前,请先进入管理后台“效果点管理”中添加效果点

 

调用接口时,请使用后台创建的 “效果点ID” 作为 pointId

OpenInstall.reportEffectPoint(pointId, pointValue);

调用接口后,可在后台查看效果点统计数据

前面大都是官网文档。下面简述一下渠道管理

1.首先您在集成过程中,先上传基础包(未区分渠道)

 

2.新建渠道

             

 

             

按要求填写完成

3.导出渠道包

             

这里选中你之前上传的基础包(选中你需要的版本)。导出你所需要的该渠道的安装包(相当于给该apk加了一层壳,或者加了一个标识)(同android studio通过productFlavors进行多渠道打包)

 

这样在前面安装时候。你便可以获取到该渠道了

OpenInstall.getInstall(new AppInstallAdapter() {
    @Override
    public void onInstall(AppData appData) {
        //获取渠道数据
        String channelCode = appData.getChannel();
        //获取自定义数据
        String bindData = appData.getData();
        Log.d("OpenInstall", "getInstall : installData = " + appData.toString());
    }
});






来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69942334/viewspace-2667836/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-25

  • 博文量
    9
  • 访问量
    8377