Skip to main content

Android 分享功能

通过 SendMessageShare 方法并传入 FriendReqInfo 实现分享功能。回调信息参考 Unity 回调 / Unreal 回调

Facebook

需安装 Facebook/Messenger 应用。

note
  • 2019.06.10 起,Share to Messenger SDK 不再支持新应用
  • Facebook SDK V4.22.0 起,分享链接时 TitleDescriptionCaptionImagePath 字段无效
方法内容目标
SendMessage链接Messenger
Share链接Feed
Share图片Feed / Gaming
Share视频Feed / Reels

分享链接到 Messenger。

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.facebook.com/link";
INTLAPI.SendMessage(reqInfo, INTLChannel.Facebook);
分享链接

分享链接到 Facebook 动态。

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);
分享hashtag

Share:图片

分享图片到 Facebook 动态或 Gaming。

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 本地路径或 URL(≤12MB)
  • ExtraJson (可选):
    • Feed 模式: {"hashtag":"#value"}
    • Gaming 模式: {"mode":1} (不支持 hashtag)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
reqInfo.ExtraJson = "{\"content_type\":\"photo\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);

Feed 分享示例: 效果参考 Share:链接

Gaming 分享示例:

分享hashtag

Share:视频

分享视频到 Facebook 动态或 Reels。

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 本地路径(≤50MB)
  • ExtraJson:
    • Feed 模式: {"hashtag":"#value"}
    • Reels 模式: {"share_to_reels":true, "hashtag":"#value"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";

// Feed 分享
reqInfo.ExtraJson = "{\"hashtag\":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);

// Reels 分享
reqInfo.ExtraJson = "{\"share_to_reels\":true, \"hashtag\":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);
分享hashtag

Garena

重要通知

Garena 已宣布将于 2024 年底从 Garena 移动应用迁移到 Web 系统。Garena 子渠道将不再可用。

通过 ExtraJsonsubChannel 参数将内容分享到 Garena 支持的子渠道(Facebook、LINE)。

ExtraJson 参数:

  • subChannel: 子渠道名称(Facebook / Line
  • mediaTagName: 额外参数或空字符串(可选)
  • caption: 分享内容说明(可选)

子渠道:Facebook

需安装 Facebook 应用。

方法内容
Share文本、链接、图片

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
  • ExtraJson: {"subChannel":"Facebook"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
reqInfo.ExtraJson = "{\"subChannel\":\"Facebook\"}";
INTLAPI.Share(reqInfo, "Garena");

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
  • ExtraJson: {"subChannel":"Facebook"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
reqInfo.ExtraJson = "{\"subChannel\":\"Facebook\"}";
INTLAPI.Share(reqInfo, "Garena");

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径(≤12MB)
  • ExtraJson: {"subChannel":"Facebook", "mediaTagName":"me"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://example.com/image.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Facebook\",\"mediaTagName\":\"me\"}";
INTLAPI.Share(reqInfo, "Garena");

子渠道:LINE

需安装 LINE 应用,无需登录 Garena。

方法内容
SendMessage链接、图片
Share链接、图片

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
  • ExtraJson: {"subChannel":"Line"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI.SendMessage(reqInfo, "Garena");

SendMessage:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
  • ExtraJson: {"subChannel":"Line"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://example.com/image.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI.SendMessage(reqInfo, "Garena");

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
  • ExtraJson: {"subChannel":"Line"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI.Share(reqInfo, "Garena");

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
  • ExtraJson: {"subChannel":"Line"}
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://example.com/image.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI.Share(reqInfo, "Garena");
分享hashtag

LINE

需安装 LINE 应用。

方法内容
SendMessage文本、图片

SendMessage:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.SendMessage(reqInfo, "LINE");

SendMessage:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.SendMessage(reqInfo, "LINE");

WeChat

需安装微信应用。

方法内容
SendMessage文本、链接、图片、视频
Share文本、链接、图片、视频

SendMessage:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.SendMessage(reqInfo, INTLChannel.W);

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.SendMessage(reqInfo, INTLChannel.W);

SendMessage:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.SendMessage(reqInfo, INTLChannel.W);
分享hashtag

SendMessage:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.SendMessage(reqInfo, INTLChannel.W);

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.Share(reqInfo, INTLChannel.W);

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.Share(reqInfo, INTLChannel.W);

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, INTLChannel.W);
分享hashtag

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, INTLChannel.W);

QQ

需安装并登录 QQ 应用。

方法内容目标
SendMessage链接、图片QQ 好友
Share文本、链接、图片、视频QZone

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
  • Link: URL
  • ThumbPath: 缩略图路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
reqInfo.Title = "INTL test";
reqInfo.Description = "INTL link sending test";
reqInfo.ThumbPath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.SendMessage(reqInfo, INTLChannel.QQ);

SendMessage:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
  • ImagePath: 图片路径(本地或 URL)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.Title = "INTL test";
reqInfo.Description = "INTL description";
reqInfo.ImagePath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.SendMessage(reqInfo, INTLChannel.QQ);

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "INTL text sending test";
INTLAPI.Share(reqInfo, INTLChannel.QQ);

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
  • Link: URL
  • ImagePath: 缩略图路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Title = "INTL share";
reqInfo.Description = "INTL description";
reqInfo.Link = "https://www.google.com";
reqInfo.ImagePath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.Share(reqInfo, INTLChannel.QQ);

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
  • ImagePath: 图片路径(本地或 URL)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.Title = "INTL test";
reqInfo.Description = "INTL description";
reqInfo.ImagePath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.Share(reqInfo, INTLChannel.QQ);

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • Title: 标题(≤30字符)
  • Description: 描述(≤40字符)
  • MediaPath: 视频路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.Title = "INTL test";
reqInfo.Description = "INTL description";
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, INTLChannel.QQ);
分享hashtag

Instagram

需安装 Instagram 应用。

方法内容
Share图片、视频

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, "Instagram");

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "Instagram");
分享hashtag

WhatsApp

需安装并登录 WhatsApp 应用。

note

分享文本或链接时,无论实际结果如何,Share 将立即返回成功。

方法内容
Share文本、链接、图片、视频

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.Share(reqInfo, "WhatsApp");

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.Share(reqInfo, "WhatsApp");

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, "WhatsApp");

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "WhatsApp");
分享hashtag

YouTube

方法内容
Share视频

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径(本地或 URL)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "Youtube");

TikTok

需安装并登录 TikTok 应用。

方法内容
Share视频

Share:视频

参数:

  • Type: Friend_REQ_VIDEO (Unity) / kReqVideo (UE)
  • MediaPath: 视频路径(本地或 URL)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "TikToK");
分享hashtag

X

需安装并登录 X 应用。

note

X SDK 已停止维护,分享时将调用系统分享。

方法内容
Share文本、链接、图片
注意事项
  • 多账号切换:添加 "login_first":1ExtraJson 强制重新授权
  • 短时间内重复分享相同内容可能返回 403 错误

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
  • ExtraJson (可选): {"login_first":1} 强制重新授权
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.Share(reqInfo, INTLChannel.Twitter);

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
  • ExtraJson (可选): {"login_first":1} 强制重新授权
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.Share(reqInfo, INTLChannel.Twitter);

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径(本地或 URL)
  • ExtraJson (可选): {"login_first":1} 强制重新授权
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, INTLChannel.Twitter);

VK

方法内容
Share文本、链接、图片

Share:文本

参数:

  • Type: Friend_REQ_TEXT (Unity) / kReqText (UE)
  • Description: 文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "Hello, long time no see";
INTLAPI.Share(reqInfo, INTLChannel.VK);

参数:

  • Type: Friend_REQ_LINK (Unity) / kReqLink (UE)
  • Link: URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
INTLAPI.Share(reqInfo, INTLChannel.VK);

Share:图片

参数:

  • Type: Friend_REQ_IMAGE (Unity) / kReqImage (UE)
  • ImagePath: 图片路径(本地或 URL)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, INTLChannel.VK);

系统分享

使用 Android 原生分享功能。

方法内容
Share文本、链接、图片

参数要求:

  • 文本: Description
  • 链接: Description + Link
  • 图片: ImagePath

自定义分享界面

可通过 ExcludedList 排除特定应用,支持包名或 Activity 名称。

示例:

{
"ExcludedList": [
"com.facebook.katana",
"com.facebook.orca:com.facebook.messenger.intents.ShareIntentHandler"
]
}

数据上报

Player Network SDK 会自动上报系统分享事件,可在 DD 平台查询数据报表 insight_1000_system_share

关键字段:

  • name: 回调名称,例如 vk:com.vkontakte.android.sharing.SharingExternalActivity
  • package_name: 渠道包名,例如 QQ 的 com.tencent.mqq

可通过关键字过滤报表,例如 QQ、Facebook、VK 等。

分享hashtag