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博客 ” ,链接:http://blog.itpub.net/69942334/viewspace-2667836/,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2019-07-25

  • 博文量
    4
  • 访问量
    1793