热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实现AIQUASDK的集成、初始化

官网:https:docs.aiqua.appier.com说明:我不太了解AIQUA是做什么的,因为某些原因接触到它,所以我这里就只讲如何集成、初始化以及我躺过的坑,具体怎么使用

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

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

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

写的步骤:先根据文档来,遇到的问题也贴一下,最后再讲以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 SDKimplementation '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'

 

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了

   

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

(四)获取QG实例:


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

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


推荐阅读
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
author-avatar
手机用户2502884755
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有