背景
大部分社交平台进行分享、登录操作首先需要在第三方平台创建应用并提交审核,创建应用后,分享、登录操作时显示的应用icon、名称和对应开放平台设置有关,必须要创建应用的平台为:微信、QQ、新浪、钉钉、企业微信、支付宝、Facebook、Kakao、LinkeIn、Twitter,创建应用方法请参考文档
微信开放平台
踩坑
问题描述:创建应用,保存提示“请先认证微信开放平台帐号主体再提交申请”问题。
问题定位:通过查看官方文档,未进行认证主体或者认证主体审核未通过导致的。
解决问题方案:参考官方文档,先进行open认证流程。
QQ开放平台
添加包名和签名
获取Android app包名
包名又称Package Name,是应用程序在android系统中的唯一ID标识,获取方法如下:打开AS,导入app 的工程,打开AndroidManifest.xml文件,或者查看build.gradle中applicationId
获取Android应用的APK文件签名
- 在android设备上安装最新版本的获取签名应用「应用下载」
注意:开放平台上的“签名获取工具”点击没响应,可以通过「应用下载」获取。但是安装apk还是提示版本太低,不能使用。
-
只有APK文件的情况下
- 首先将你的项目打包,一定要使用签名文件打包成release版本的apk文件。
- 将你的apk文件后缀修改成rar文件,解压。
- 在解压后的文件中找到META-INF文件,该目录下会存在CERT.RSA文件。
- 在META-INF目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :
keytool -printcert -file CERT.RSA
,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。
- 有签名文件 并且知道密码
在jks签名文件目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :keytool -list -v -keystore xxx.jks
,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。
- 使用Gradle Tasks
这种方法适合有源码的情况, 操作非常的简单
./gradlew signingReport
其他
配置第三方平台应用信息
微信
登录微信开放平台,填写相关应用信息,审核通过后获取到微信AppID及AppSecret,如果需要微信登录功能,需要申请微信登录权限,注意微信登录有效期为一年,需要按时在微信平台认证
以注册iOS应用为例:
bundle ID设置需要和工程一致
里上传的图标最后会显示为分享消息脚本icon和登录页面的应用icon
QQ及QQ空间(Qzone)使用同一个AppID及Appkey,登录QQ开放平台,选择iOS应用或者安卓应用
关应用信息并提交审核,未审核前通过只能使用测试账号
里上传的图标最后会显示为分享消息脚本icon和登录页面的应用iconQQ初始化appId说明:U-Share SDK为了兼容大部分平台命名,统一用appKey和appSecret进行参数设置,而QQ平台仅需将appID作为U-Share的appKey参数传进即可。例如iOS Demo中的示例代码:
/* 设置QQ互联appKey */
NSString *qqAppID = @"xxxx";
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:qqAppID appSecret:nil redirectURL:nil];
说明 :若不进行appId初始化可能会报错:App is not registed。