美文网首页开源项目Android技术知识Android知识
Java - Android抛弃厌烦的邀请码,我们应该这样做

Java - Android抛弃厌烦的邀请码,我们应该这样做

作者: Cosecant | 来源:发表于2017-04-24 14:07 被阅读663次

<h1>OpenInstall - Android集成说明</h1>
官方地址:<a href="http:///www.openinstall.io">http:///www.openinstall.io</a>

开发中,我们经常会遇到填写邀请码的问题?尤其是针对跑市场的人员来说,这更是对业务有极大帮助的,邀请码涉及到公司的业务以及注册量统计等问题。因此OpenInstall公司推出了一款专门应对该问题的一款SDK【OpenInstall】。经过开发实践,发现OpenInstall完全可使用并应用于开发业务中。那么我们应该如何集成并使用它呢???

Ps: 该SDK收费标准为8000/year,试用期为1个月

<h2>如何把OpenInstall SDK集成到项目中?</h2>

<h3>1. 首先先按照官方的文档说明进行配置:</h3>

<ul type="A">
<li>下载 <a href="http://www.openinstall.io/download.html">Android SDK</a></li>
<li>
导入Openinstall SDK
将SDK拷贝到项目的libs文件夹中,并导入

dependencies {
    compile files('libs/OpenInstall_vX.X.X.jar')
}

</li>
<li>
基础配置
在AndroidMaifest.xml中添加权限声明

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

在AndroidMaifest.xml中设置AppKey

<meta-data
      android:name="com.openinstall.APP_KEY"
      android:value="your AppKey" />

初始化SDK

 public class MyApplication extends Application {
         @Override
         public void onCreate() {
             super.onCreate();
             OpenInstall.init(this);
             //打开调试,便于看到Log
             OpenInstall.setDebug(true);
         }
}

</li>
<li>
设置scheme
在AndroidMaifest.xml的唤醒页面activity标签中添加intent-filter

<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="your scheme"/> <!--注册时,官网上生成的scheme-->
        </intent-filter>
</activity>    

</li>
<li>
个性化安装集成/渠道统计集成
在应用启动页如下调用相关代码,获取<b style="color:skyblue">安装参数/渠道参数</b>

public class SplashActivity extends BaseActivity implements AppInstallListener {
    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_splash);
            //获取OpenInstall数据
            OpenInstall.getInstall(this);
    }
    @Override
    public void onInstallFinish(AppData appData, Error error) {
            if (error == null) {
                //获取渠道数据
                Log.d("SplashActivity", "channel = " + appData.getChannel());
                //获取个性化安装数据,需要缓存到本地,需要时就取出来使用
                Log.d("SplashActivity", "install = " + appData.getData());
            } else {
                Log.d("SplashActivity", "error : "+error.toString());
            }
    }
}

</li>
<li>
一键跳转集成
在唤醒页面如下调用相关代码,获取web端传过来的参数

public class MainActivity extends BaseActivity implements AppWakeUpListener {
    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            OpenInstall.getWakeUp(getIntent(), this);
    }

    @Override
    protected void onNewIntent(Intent intent) {
            super.onNewIntent(intent);
            setIntent(intent);
            //此处要调用,否则App在后台运行时,会无法截获
            OpenInstall.getWakeUp(intent, this);
    }
    @Override
    public void onWakeUpFinish(AppData appData, Error error) {
            if (error == null) {
                //能从浏览器中获取到唤醒参数,目前一些浏览器不支持该功能,如UC,绿茶等浏览器
                Log.d("MainActivity", "wakeup = " + appData.toString());
            } else {
                Log.d("MainActivity", "error : "+error.toString());
            }
    }
}

</li>
</ul>

<h3>2. 应该在哪里获取安装参数?</h3>

ps: 只有在<em style="color:skyblue">全新安装</em>的时候,才能从AppInstallListener中的AppData中获取到数据!
<ul>
<li>安装参数需要由网页提供WebSDK编写,暂时测试时可以使用官方的<a href="http://developer.openinstall.io/p-1344406936/config.html">测试接口</a>。</li>
<li>测试前,我们应该把打包好的应用上传至官方<a href="http://developer.openinstall.io/p-1344406936/deposit.html">包托管理</a>处。</li>
<li>测试时,我们需要从测试链接中获取APP下载链接,下载并安装应用。</li>
<li>由接口传入的数据,将会传入<b>AppData</b>对象中,我们需要保存该值到本地。</li>
</ul>

<h3 style="color:skyblue;">备注: Web SDK如何集成测试环境?</h3>

SDK概述

web sdk用于web页面启动/安装app,并在启动/安装app的同时,向app传递各种自定义参数(通过android/ios sdk可>获取传递的参数)。web sdk可根据不同浏览器的特性,提供完整的app启动与安装的流程,包括微信,QQ等内置浏览器。

<!-- 以下为openinstall集成代码 -->
  <!-- 强烈建议直接引用下面的cdn加速链接,以得到最及时的更新,我们将持续跟踪各种主流浏览器
        的变化,提供最好的服务;不推荐将此js文件下载到自己的服务器-->
  <script type="text/javascript" src="//res.cdn.openinstall.io/openinstall.js"></script>
  <script type="text/javascript">
  //初始化
  /*web页面向app传递的json数据(json string/js Object),应用被拉起或是首次安装时,通过相
    应的android/ios api可以获取此数据*/
  var data={'testKey':'testValue'};
  var m = new OpenInstall({
      /*appKey必选参数,openinstall为每个应用分配的ID*/
      appKey : 'wcacud'
  },data);
  //用法1:如app已安装,进入网页立即拉起app;用户点击某个按钮时再开始安装app
  /*通过scheme拉起app(如果已在openinstall平台开启scheme启动功能)*/
  m.schemeWakeup();
  /*用户点击某个按钮时,安装app*/
  document.getElementById('downloadButton').onclick=function(){
      m.install();
  }
  //用法2:用户点击某个按钮拉起app,等待设定时间后app尚未拉起,再安装app
  /*用户点击某个按钮时,安装app*/
  //document.getElementById('downloadButton').onclick=function(){
  //   //500毫秒后app尚未拉起,将安装app,可自定义时间
  //   m.wakeupOrInstall({timeout:500});
  //}
  </script>

相关文章

网友评论

本文标题:Java - Android抛弃厌烦的邀请码,我们应该这样做

本文链接:https://www.haomeiwen.com/subject/xscpzttx.html