全部產品
Search
文件中心

Mobile Platform as a Service:快速開始

更新時間:Jul 13, 2024

本文介紹的是快速接入社交分享 SDK 的操作步驟。

關於此任務

社交分享組件提供微博、微信、支付寶、QQ、DingTalk、簡訊等渠道的分享功能,提供給開發人員統一的介面,無需處理各 SDK 的介面差異性。要將分享組件接入 Android 用戶端,您需要配置工程確定基礎架構,並添加 share 組件的 SDK。

前置條件

在接入各渠道之前,必須在分享渠道的官方網站申請帳號。例如以下分享渠道的官方網站:

社交分享支援 原生 AAR 接入組件化接入 兩種接入方式。

添加 SDK

原生 AAR 方式

參考 AAR 組件管理,通過 組件管理(AAR) 在工程中安裝 分享 組件。

組件化方式

在 Portal 和 Bundle 工程中通過 組件管理 安裝 分享 組件。更多資訊,參考 管理組件依賴

初始化 mPaaS

如果使用原生 AAR 方式,需要初始化 mPaaS。請在 Application 中添加以下代碼:

public class MyApplication extends Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        // mPaaS 初始化
        MP.init(this);    
    }
}

詳情請參考:初始化 mPaaS

各個平台分享 SDK 使用

本文將結合 社交分享 官方 Demo 介紹如何在 10.1.32 及以上版本的基準中使用社交分享 SDK。

微信分享

您需要手動產生一個特定路徑和名稱的 Activity 用來接收微信分享的回調事件。這個 Activity 繼承自 DefaultWXEntryActivity,路徑為 package_name.wxapi.WXEntryActivity。其中,package_name 為應用的包名。

說明

路徑和 Activity 名稱必須準確,否則將無法收到回調。

查看以下樣本,其中包名為 com.mpaas.demo

package com.mpaas.demo.wxapi;
import com.alipay.android.shareassist.DefaultWXEntryActivity;
public class WXEntryActivity extends DefaultWXEntryActivity {
}

AndroidManifest.xml 中對該 Activity 進行註冊:

<application>
      ···
      <activity android:name="com.mpaas.demo.wxapi.WXEntryActivity"
      android:exported="true"
      android:launchMode="singleTop">
			</activity>
      ···
</application>
說明

設定分享表徵圖時,確保表徵圖的大小不超過 32 KB,否則可能會引起微信分享失敗。目前在 Android 端 SDK 做了校正,表徵圖大小超過 32 KB 時會用預設的支付寶表徵圖代替。

QQ、QZone 分享

您需要在 AndroidManifest.xml 中,對 QQ 分享所需要的 Activity 進行註冊,否則無法正常使用 QQ、QZone 的分享和回調功能。

說明
  • 若您在 AndroidManifest.xml 中填寫的 QQ 分享 ID 和在代碼中註冊的 QQ 分享 ID 不一致時,會導致 QQ 分享回調錯亂的異常,即使分享成功也會回調 onException,請務必仔細檢查。

  • data android:scheme 中要填寫對應的 QQ 分享 ID,格式為 tencent+QQID (+ 號請忽略)。該 ID 需要開發人員到 騰訊開放平台 中申請。查看以下樣本,其中 QQ ID 為 1104122330。

<application>
      ···
      <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
      <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:exported="true"
            android:noHistory="true">
            <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="tencent1104122330"/>
            </intent-filter>
      </activity>
      ···
</application>

微博分享

需要確保應用簽名、包名、分享 ID 和在 微博開放平台 中註冊的一致,否則將導致分享失敗。由此原因導致分享失敗時,share 組件的分享回調不會觸發分享異常 onException,而會觸發分享成功 onComplete。該缺陷屬於微博 SDK 缺陷,目前在微博 SDK 官方 Demo 中同樣會出現此問題。

相關連結