实现AIQUA SDK的集成、初始化、跟踪用户的设备ID

官网:https://docs.aiqua.appier.com

实现AIQUA SDK的集成、初始化、跟踪用户的设备ID_第1张图片

说明:我不太了解AIQUA是做什么的,因为某些原因接触到它,所以我这里就只讲如何集成、初始化、"跟踪用户的设备ID"以及我躺过的坑,具体怎么使用就不说了,我这里是新建一个项目进行的,所以没有出现什么包冲突之类的问题。

为什么要写这篇呢?主要是因为,在我前面开始根据官方文档来操作时,遇到问题、最后发现需要。(可能是我的迷之操作导致这些问题的出现)整篇文章中,有哪里描述不对的地方,请指正出来,不能被我带偏了。

写的步骤:先根据文档来,遇到的问题也贴一下,最后再讲以arr集成。

还未解决的疑惑:如何注册、登录进去??知道的小伙伴麻烦告诉我一下。

步骤:

一.在app的gradle下加入相关依赖(还有冲突版本的添加依赖方式,看官网文档即可):

注:AIQUA SDK版本的5.10.0,那么appcompat-v7最低版本的26.1.0

        implementation 'com.android.support:appcompat-v7:26.1.0'
        // add other necessary dependency
        //***Firebase and Google Play Services***
        implementation 'com.google.firebase:firebase-core:16.0.7'
        implementation 'com.google.firebase:firebase-messaging:17.3.4'
        implementation 'com.google.android.gms:play-services-analytics:16.0.7'
        //     AIQUA SDK
        implementation 'com.quantumgraph.sdk:QG:5.10.0'

 二.在AndroidManifest.xml下添加权限(根据你的需要):

注:Android6.0及以上需要动态获取权限

    
    

    
    
    

    
    

三.初始化两种方法选一,官网在activity的onCreate方法里(我写在MyApplication的onCreate方法(继承Application的类)):

注:写在MyApplication,记得在AndroidManifest.xml里面加 android:name=".MyApplication"。

初始化方法前面的备注,是以arr接入方式,总结日志知道的(arr接入方式,在后面),不对的地方请指出。

虽然日志显示:Not Initialized,但后面是初始化了的,具体是为什么呢?看日志

        /**
         * 默认的初始化,senderId: 912856755471
         * 卸载重装后userId会改变,且显示用户已经存在,期间论appId换成什么,userId不变
         * Not Initialized
         */
        QG.initializeSdk(MyApplication.this, getPackageName());

        /**
         * 初始化AIQUA,使用自己的appId,senderId , 需要到平台上面设置才有senderId
         * 卸载重装后userId会改变,且显示用户已经存在,期间论appId换成什么,userId不变
         * Not Initialized
         */
        QG.initializeSdk(MyApplication.this, getPackageName(), "senderId");

 四.运行就闪退,依次遇到的问题及解决方法:

问题1:java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.aiqua. Make sure to call FirebaseApp.initializeApp(Context) first.

解决:

在第三步之前,加入:

注:必须判断FirebaseApp初始化成功才能进行第三步,会发现问题2

 FirebaseApp.initializeApp(this);

问题2:FirebaseApp.initializeApp(Context)一直初始化不成功

解决:

1.在app.gradle的最后最后最后,记得是最后加入:

apply plugin: 'com.google.gms.google-services'

实现AIQUA SDK的集成、初始化、跟踪用户的设备ID_第2张图片

2.在项目的gralde下面加入如下:

buildscript {
    
    dependencies {
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com" 
        }

    }
}

Sync Now一下,会发现问题3

问题3:File google-services.json is missing. The Google Services Plugin cannot function without it. 

解决:这个需要下载 google-services.json,具体步骤有其他优秀博文写好了,自行查阅。

 

以arr实现的步骤:

(一)下载QG-5.10.0.aar及加入到项目中(看图剪头指引):

注:我用的是QG-5.10.0.arr,刚刚再去官网找下载arr地址时,更新到QG-6.0.0.aar了

实现AIQUA SDK的集成、初始化、跟踪用户的设备ID_第3张图片   实现AIQUA SDK的集成、初始化、跟踪用户的设备ID_第4张图片

(二)(三)跟前面的二三步骤一样的,不重复

(四)获取QG实例:

QG qg = QG.getInstance(getApplicationContext());

2020.08.17补充:(五)"跟踪用户的设备ID"

注:一开始看QG类时,只关注device,一直找不到,今天从头到尾认真仔细看类的全部方法才找到"跟踪用户的设备ID"

(五)跟踪用户的设备ID(前提是前面四个步骤已经依次完成)

注:权限必需加

    
    
    

注:"跟踪用户的设备ID"及验证是否成功

//deviceID是手机设备ID,自行找方法实现获取device
qg.enableGATrackingWithGAID(deviceId);
//验证"跟踪用户的设备ID"方法是否成功,用TrackerId方法得到的值跟device对比,是一样的
qg.getTrackerId()

 

不对的地方,请指出,我会认真改进的,谢谢!

你可能感兴趣的:(SDK的学习,AIQUA,android,java)