极光分享集成

25人阅读 评论(0) 收藏 举报
分类:

主要场景:

  • 将分享内容分享到 QQ、微信、新浪微博、Facebook、Twitter 等主要的社交平台。
  • 获得 QQ、微信、新浪微博、Facebook、Twitter 等主要平台授权。
  • 获取 QQ、微信、新浪微博、Facebook、Twitter 等主要平台的个人信息,用于第三方登录。

集成步骤

  • 在 gradle 配置 jcenter。
  • manifest.xml配置
  • 配置第三方平台信息。
  • 配置微信回调(如不需要分享到微信,可跳过)。
  • 配置项目签名。
  • 参考 example 工程或者接口文档使用 JShare SDK。

Gradle配置

  • Project 根目录的主 gradle 中配置了 jcenter 支持。
buildscript {
    repositories {
        jcenter()
    }
    ......
}

allprojects {
    repositories {
        jcenter()
    }
}
  • 在 module 的 gradle 中添加依赖和 AndroidManifest 的替换变量。
android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //极光控制台创建应用时填写的应用包名.
        ......

        ndk {
            //选择要添加的对应 cpu 类型的.so 库。
            abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a'
            // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
        }

        manifestPlaceholders = [
            JSHARE_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的 appkey", //极光控制台创建应用得到的 AppKey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
            TENCENT_APPID: " QQ 开发者应用的 appID ",//腾讯开放平台注册应用得到的 appId
            FACEBOOK_APPID: " facebook 开发者应用的 appID ",// facebook 注册应用得到的 appId
        ]
        ......
    }
    ......
}

dependencies {
    ......
    compile 'cn.jiguang.sdk:jshare:1.5.0'  // 此处以 JShare 1.5.0 版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jshare-qqmodel:1.5.0'  // 此处以 jshare-qqmodel 1.5.0  版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jshare-wechatmodel:1.5.0'  // 此处以 jshare-wechatmodel 1.5.0  版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jshare-sinamodel:1.5.0'  // 此处以 jshare-sinamodel 1.5.0  版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jshare-facebookmodel:1.5.0'  // 此处以 jshare-facebookmodel 1.5.0  版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jshare-twittermodel:1.5.0'  // 此处以 jshare-twittermodel 1.5.0  版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    compile 'cn.jiguang.sdk:jcore:1.1.7'  // 此处以 JCore 1.1.7 版本为例,具体版本请参考压缩包 libs 的 jar 包版本。
    ......
}

manifest.xml

  • 权限配置
<!-- Required -->
    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <!-- Optional. Required for location feature -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
  • SDK 核心功能(分享回调可以不写)
 <!-- Required SDK 核心功能-->
 <activity
      android:name="cn.jiguang.share.android.ui.JiguangShellActivity"
      android:configChanges="keyboardHidden|orientation|screenSize"
      android:exported="true"
      android:launchMode="singleTask"
      android:screenOrientation="portrait"
      android:theme="@android:style/Theme.Translucent.NoTitleBar"
      android:windowSoftInputMode="stateHidden|adjustResize">
      <!-- Optional QQ 分享回调-->
      <!-- scheme为“tencent” 前缀再加上 QQ 开发者应用的 appID;例如 appID为123456,则 scheme=“tencent123456” -->
      <intent-filter>
          <data android:scheme="tencent+appID" />
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.BROWSABLE" />
          <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>

      <!-- Optional 新浪微博分享回调 -->
      <intent-filter>
          <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
          <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>

      <!-- Optional 新浪微博私信回调 -->
      <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="jsharesdk" android:host="sinaweibo"/>
      </intent-filter>
</activity>

配置第三方平台信息

JGShareSDK.xml 示例

<?xml version="1.0" encoding="utf-8"?>
<DevInfor>

    <!-- 如果不需要支持某平台,可缺省该平台的配置-->

    <SinaWeibo
        AppKey="新浪微博的 AppKey"
        AppSecret="新浪微博 AppSecret"
        RedirectUrl="微博开放平台填写的授权回调页"/>

    <QQ
        AppId="QQ 的 AppId"
        AppKey="QQ 的 AppKey"/>

    <Wechat
        AppId="微信的 AppId"
        AppSecret="微信的 AppSectet"/>

    <Facebook
        AppId="facebook 的 appId"
        AppName="facebook 后台填写的名称"
    />

    <Twitter
        ConsumerKey="twitter 的 ConsumerKey"
        ConsumerSecret="twitter 的 ConsumerSecret"
    />

</DevInfor>

配置签名

在项目的 build.gradle 的 android 内部新增签名配置,例如:

signingConfigs {
        debug {
              storeFile file("jshare.jks") //签名文件路径
              storePassword "sdkteam"
              keyAlias "jshare"
              keyPassword "sdkteam" //签名密码
        }
        release {
             storeFile file("jshare.jks") //签名文件路径
             storePassword "sdkteam"
             keyAlias "jshare"
             keyPassword "sdkteam" //签名密码
        }
    }

然后在项目的 build.gradle 的 buildTypes 使用签名配置,例如:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }

Application中初始化

public static void setDebugMode(boolean enable)
public static void init(Context context)

极光分享

查看评论

关于第三方登录与分享的问题总结

最新完成项目中的第三方登录与分享的功能,主要实现了 微信、QQ、微博、豆瓣的第三方登录与分享。 关于第三方登录与分享,网上有很多的第三方集成平台,使用这些平台,开发者只需要完成该平台的代码就可以实...
  • Mr_WangGang
  • Mr_WangGang
  • 2015-06-25 09:49:30
  • 1617

Android 极光推送集成与使用详解

极光新建应用首先需要有极光账号,在后台新建应用 新建时会要求上传app图标和填写app名字,然后需要完成推送设置 点击推送设置后出现android 与iOS的按钮,点击android后填写...
  • hjw45611
  • hjw45611
  • 2017-08-03 12:05:22
  • 1924

让你的分享飞起来——极光推出社会化分享组件

北京,2017 年 5 月 11 日-国内领先的移动大数据服务商极光(www.jiguang.cn) 正式推出旗下的社会化分享组件 —— JShare。JShare 的上线,使得极光开发者服务的产品矩...
  • jpush
  • jpush
  • 2017-05-11 14:14:21
  • 715

android 微信登录与分享集成

android 微信登录与分享 android微信登录与分享这两个功能是很常用的,尤其是现在微信用户日益剧增,qq虽然很经典但是感觉大多数用来办公每个写android的小伙伴估计都会...
  • u013144287
  • u013144287
  • 2018-02-06 21:07:53
  • 249

Android Studio jcenter 自动集成极光推送

最近没什么事情,看了看极光推送,因本人也属于菜鸟一级,在集成时,也遇到了一些啼笑皆非的小麻烦。PS:主要是在自动集成这是极光推送官网给出的集成文档 http://docs.jiguang.cn/jp...
  • qq_24667133
  • qq_24667133
  • 2016-11-29 17:38:52
  • 2728

iOS 微信分享到朋友圈

最近要加微信朋友圈分享的功能,上官网下文件,照着文档搭环境,但是总有错误,于是百度博客来看,发现和官方文档一样,解决不了自己的问题,现在问题解决了,分享出来希望对大家有帮助。 1.首先要向微信注册你的...
  • crypond
  • crypond
  • 2015-03-18 11:53:23
  • 1188

iOS 极光推送SDK的集成

SDK说明 适用版本 本文匹配的 SDK版本:r2.1.5 以后。 查看最近更新了解最新的SDK更新情况。 使用Xcode 6及以上版本可以使用新版Push SDK,Xcode 5环境...
  • Alexander_Wei
  • Alexander_Wei
  • 2017-05-03 23:52:10
  • 1666

Android学习之如何集成极光IM功能(一)

首先,我们先利用Android studio 创建一个空的应用程序。 我们还需要了解一下  apply plugin: 'com.android.application'和 apply plu...
  • Boom_Jia
  • Boom_Jia
  • 2016-12-07 16:05:53
  • 2297

Swift-极光推送集成指南 (本人亲测)

1 导入SDK 2 桥文件导入 // 引入JPush功能所需头文件 #import "JPUSHService.h" // iOS10注册APNs所需头文件 #import 3  AppDele...
  • onlychengzhi
  • onlychengzhi
  • 2017-03-28 16:34:56
  • 1369

java服务端极光推送消息的集成

此次写这个博客是为了对自己前段时间学习应用极光推送的一个总结!!!   --------------------------------------------------------------...
  • ningmeng718
  • ningmeng718
  • 2017-09-09 23:28:47
  • 504
    个人资料
    持之以恒
    等级:
    访问量: 4万+
    积分: 549
    排名: 9万+