Integre o SDK Social Share ao seu projeto Android para ativar o compartilhamento no Weibo, WeChat, Alipay, QQ, DingTalk e SMS.
Visão geral
O componente Social Share oferece uma interface de compartilhamento unificada para diversos canais (Weibo, WeChat, Alipay, QQ, DingTalk e SMS), eliminando a necessidade de lidar com as diferenças de API entre os SDKs de cada plataforma. A integração requer adicionar o componente share e definir as configurações específicas de cada plataforma no projeto Android.
Estão disponíveis dois métodos de integração:
Integração nativa via AAR: adicione o SDK diretamente como dependência AAR. Conclua primeiro as etapas em Adicionar o mPaaS ao seu projeto.
Integração baseada em componentes: gerencie o SDK por meio dos projetos Portal e Bundle. Conclua primeiro o processo de integração baseada em componentes.
Pré-requisitos
Registre uma conta de desenvolvedor em cada plataforma que deseja suportar:
Adicionar o SDK
Integração nativa via AAR
Siga as instruções em Gerenciar componentes AAR e use o Component Management (AAR) para instale o componente Share.
Importante
A partir da versão 10.2.3.76, o componente Social Share não inclui mais o SDK do Weibo. Se precisar usar o SDK do Weibo, adicione explicitamente o SDK oficial para evitar erros de compilação:
dependencies {
implementation "io.github.sinaweibosdk:core:13.10.8@aar"
}
configurations.all {
resolutionStrategy {
exclude group:'com.sina.weibo.sdk', module: 'core'
exclude group:'com.alipay.android.phone.mobilecommon',module:'share_weibo'
}
}
Para continuar usando o recurso antigo de compartilhamento do Weibo sem o SDK correspondente, fixe a versão legada do build:
configurations.all {
resolutionStrategy {
force 'com.alipay.android.phone.mobilecommon:share-build:1.3.0.250721165359'
}
}
Integração baseada em componentes
Nos projetos Portal e Bundle, use o Component Management para instale o componente Share. Consulte Gerenciar dependências de componentes para obter detalhes.
Inicializar o mPaaS
Na integração nativa via AAR, inicialize o mPaaS na classe Application:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Initialize mPaaS
MP.init(this);
}
}
Para ver todas as opções de inicialização, consulte Inicializar o mPaaS.
Configurações específicas por plataforma
Os exemplos abaixo usam a demonstração oficial do Social Share com baseline 10.1.32 ou superior.
Compartilhamento no WeChat
Crie uma Activity para receber callbacks do WeChat Share. Essa Activity deve estender DefaultWXEntryActivity e estar localizada no caminho package_name.wxapi.WXEntryActivity, onde package_name é o nome do pacote da sua aplicação.
O caminho e o nome da Activity devem ser exatos. Um caminho incorreto impede o recebimento dos callbacks.
Para um projeto com nome de pacote com.mpaas.demo:
package com.mpaas.demo.wxapi;
import com.alipay.android.shareassist.DefaultWXEntryActivity;
public class WXEntryActivity extends DefaultWXEntryActivity {
}
Registre a Activity no arquivo AndroidManifest.xml:
<application>
···
<activity android:name="com.mpaas.demo.wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTop">
</activity>
···
</application>
Mantenha os ícones de compartilhamento abaixo de 32 KB. O SDK do Android rejeita ícones maiores e os substitui pelo ícone padrão do Alipay, o que pode causar falhas no compartilhamento via WeChat.
Compartilhamento no QQ e QZone
Registre a Activity de compartilhamento do QQ no AndroidManifest.xml. Sem esse registro, o compartilhamento e os callbacks do QQ e QZone não funcionarão.
O ID de compartilhamento do QQ no
AndroidManifest.xmldeve corresponder ao ID registrado no código. Uma incompatibilidade aciona o callbackonExceptionmesmo em compartilhamentos bem-sucedidos.No campo
data android:scheme, insira o ID de compartilhamento do QQ no formatotencent+QQID, sem o sinal de mais (+). Solicite esse ID na Plataforma Aberta da Tencent. Exemplo:tencent1104122330.
<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>
Compartilhamento no Weibo
A assinatura do aplicativo, o nome do pacote e o ID de compartilhamento devem corresponder às informações registradas na Plataforma Aberta do Weibo. Qualquer divergência causa falha silenciosa no compartilhamento: o componente share dispara onComplete em vez de onException. Trata-se de um defeito conhecido no SDK do Weibo que também afeta a demonstração oficial do SDK.
Links relacionados
Para exemplos de código e detalhes de uso, consulte Obter exemplos de código.
-
Documentação de APIs relacionadas: