跳到主要内容

iOS 分享功能

调用带有 Unity SDK 或 Unreal Engine SDK 的 FriendReqInfo 数据结构的 SendMessage 或 Share 方法来实现 iOS 的分享功能。

有关回调信息,请参见 回调。

Facebook​

注意

自 2019年6月10日 起,Share to Messenger SDK 不再支持新应用集成。然而,现有业务仍可访问 SendMessage 方法以分享链接至 Messenger。

由于 Facebook 网页游戏和 Facebook Gameroom 平台已不再接受新游戏的提交,Player Network SDK 已停止支持使用 SendMessage 方法来发送邀请。

Facebook 支持以下分享模式:

  • Messenger 分享:分享到 Facebook Messenger。
  • Feed 分享:分享到 Facebook 动态。
  • Reels 分享:分享到 Facebook Reels。
  • Gaming 分享:为游戏服务专用,游戏必须启用 Login for Gaming 才能使用此功能。

可用 SendMessage 和 Share 将以下内容分享到 Facebook:

  • SendMessage:链接,支持 Messenger 分享
  • Share:链接,支持 Feed 分享
  • Share:图片,支持 Feed 和 Gaming 分享
  • Share:视频,支持 Feed 和 Reels 分享
注意

自 Facebook SDK V4.22.0 起,Title、Description、Caption 和 ImagePath 字段在分享链接时不再生效。

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需本地安装 Messenger 应用。

参数:

  • Type
  • 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);
Image: Facebook send link

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需本地安装 Facebook 应用。

参数:

  • Type
  • Link:URL
  • ExtraJson(可选) - hashtag
    • 将各标签设置为 "#value",仅突出显示第一个 "#"
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.facebook.com/link";
reqInfo.ExtraJson = "{\"hashtag \":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);
Image: Facebook share link

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需本地安装 Facebook 应用。

参数:

  • Type
  • ImagePath:图片路径,可提供本地图片路径或在线 URL
    • 图片大小不能超过 12MB
    • 在线图片不会保存到本地
  • ExtraJson(可选) - hashtag
    • 将各标签设置为 "#value",仅突出显示第一个 "#"

要使用 Gaming 分享模式,可在 ExtraJson 中添加 \"mode\":1 属性。使用 Gaming 分享模式时不能添加标签。

var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
reqInfo.ExtraJson = "{\"hashtag \":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);

Feed 分享示例:
Image: Facebook Classic mode

Gaming 分享示例:
Image: Sharing for Gaming

Share:视频(Feed)​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需本地安装 Facebook 应用。

参数:

  • Type
  • MediaPath:视频路径,视频大小不能超过 50MB
  • ExtraJson(可选) - hashtag
    • 将各标签设置为 "#value",仅突出显示第一个 "#"
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
reqInfo.ExtraJson = "{\"hashtag \":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);
Image: Facebook Gaming mode

Share:视频(Reels)​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需本地安装 Facebook 应用。

参数:

  • Type
  • MediaPath:视频路径,视频大小不能超过 50MB
  • ExtraJson:share_to_reels、hashtag
    • share_to_reels: 设置为 True
    • hashtag(可选): 将各标签设置为 "#value",仅突出显示第一个 "#"
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
reqInfo.ExtraJson = "{\"share_to_reels\":true, \"hashtag \":\"#value\"}";
INTLAPI.Share(reqInfo, INTLChannel.Facebook);

Garena​

要将玩家内容分享到 Garena 所支持的子渠道,可在调用 SendMessage 或 Share 方法时,将渠道名称和渠道所需参数传递给 FriendReqInfo 数据结构的 ExtraJson 属性。支持的子渠道包括 Garena、Facebook 和 LINE。

在线图片在分享到 Garena 所支持的子渠道后,不会保存到本地存储中。

ExtraJson备注
subChannelGarena 子渠道名称
mediaTagName根据游戏需求传入的额外参数或者任意空字符串
caption分享内容的说明

子渠道 Garena​

可用 SendMessage 将以下内容分享到子渠道 Garena:

  • SendMessage:文本
  • SendMessage:链接
  • SendMessage:图片

SendMessage:文本​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。
玩家需安装并已登录 Garena 应用。

参数:

  • Type
  • Title:标题
  • Description:文本内容
  • ThumbPath:缩略图路径
  • ExtraJson - subChannel, mediaTagName
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Title = "INTL share";
reqInfo.Description = "Hello, long time no see";
reqInfo.ThumbPath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Garena\",\"mediaTagName\":\"me\"}";
INTLAPI::SendMessage(friendInfo, "Garena");

Garena 不支持 Player Network 的邀请类型,但可以通过文本消息发送邀请,将 mediaTagName 设置为 room ID。

当好友点击邀请时,游戏将打开且 mediaTagName 的值会在 OnAuthBaseResultEvent 中通过 ret.ExtraJson 的 game_data 传递。随后好友加入房间。

代码示例:

public void OnAuthBaseResultEvent(INTLBaseResult baseRet)
{
if(baseRet.MethodId == (int)INTLMethodID.INTL_AUTH_WAKEUP)
{
// Listen to the team invitation callback
}
}

响应示例:

{
"RetCode":0,
"RetMsg":"Success",
"MethodId":109,
"ThirdCode":-1,
"ThirdMsg":"",
"ExtraJson":"{\"params\":\"{\\\"platform\\\":\\\"1\\\",\\\"from_open_id\\\":\\\"f9aed405b81abfbdfeb305c431335ca3\\\",\\\"open_id\\\":\\\"9317b7044e2feaeff33d1feac2de33b4\\\"}\",\"game_data\":\"33\"}"
}

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需安装并已登录 Garena 应用。

参数:

  • Type
  • Link:URL
  • Title:标题
  • Description:描述
  • ExtraJson - subChannel, mediaTagName, caption
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_LINK;
reqInfo.Link = "https://www.google.com";
reqInfo.Title = "INTL share";
reqInfo.Description = "Hello, long time no see";
reqInfo.ExtraJson = "{\"subChannel\":\"Garena\",\"mediaTagName\":\"me\",\"caption\":\"New Strait Times\"}";
INTLAPI::SendMessage(friendInfo, "Garena");

SendMessage:图片​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需安装并已登录 Garena 应用。

参数:

  • Type
  • ImagePath:图片路径
  • ExtraJson - subChannel, mediaTagName
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Garena\",\"mediaTagName\":\"me\"}";
INTLAPI::SendMessage(friendInfo, "Garena");

子渠道 Facebook​

可用 Share 将以下内容分享到子渠道 Facebook:

  • Share:文本
  • Share:链接
  • Share:图片
注意

自 Facebook SDK V4.22.0 起,Title、Description、Caption 和 ImagePath 字段在分享链接时不再生效。

Share:文本​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。
玩家需本地安装 Facebook 应用。

参数:

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

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需本地安装 Facebook 应用。

参数:

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

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需本地安装 Facebook 应用。

参数:

  • Type
  • ImagePath:图片路径,图片大小不能超过 12MB
  • ExtraJson - subChannel, mediaTagName
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Facebook\",\"mediaTagName\":\"me\"}";
INTLAPI::Share(friendInfo, "Garena");

子渠道 LINE​

可用 SendMessage 或 Share 将以下内容分享到子渠道 LINE:

  • SendMessage:链接
  • SendMessage:图片
  • Share:链接
  • Share:图片

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需本地安装 LINE 应用而无需登录 Garena。

参数:

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

SendMessage:图片​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需本地安装 LINE 应用而无需登录 Garena。

参数:

  • Type
  • ImagePath:图片路径
  • ExtraJson - subChannel
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI::SendMessage(friendInfo, "Garena");

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需本地安装 LINE 应用而无需登录 Garena。

参数:

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

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需本地安装 LINE 应用而无需登录 Garena。

参数:

  • Type
  • ImagePath:图片路径
  • ExtraJson - subChannel
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
reqInfo.ExtraJson = "{\"subChannel\":\"Line\"}";
INTLAPI::Share(friendInfo, "Garena");
Image: Garena LINE share link

Instagram​

可用 Share 将以下内容分享到 Instagram 动态、故事和消息:

  • Share:图片
  • Share:视频
注意

Instagram 分享功能需要 iOS 15.1 或更高版本。更多详情,请参见 Instagram 应用商店页面。

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需本地安装 Instagram 应用。

参数:

  • Type
  • ImagePath:图片路径,可提供本地图片路径或在线 URL
    • 推荐格式:JPEG(640 x 640 像素)
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, INTLChannel.Instagram);

Share:视频​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需本地安装 Instagram 应用。

参数:

  • Type
  • MediaPath:视频路径,可提供本地视频路径或在线 URL
    • 格式:MP4
    • 最短时长:3秒,最长时长:10分钟
    • 最小尺寸:640 x 640 像素
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, INTLChannel.Instagram);

LINE​

可用 SendMessage 将以下内容分享到 LINE:

  • SendMessage:文本
  • SendMessage:图片

SendMessage:文本​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。

参数:

  • Type
  • Description:文本内容
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "INTL services";
INTLAPI.SendMessage(reqInfo, INTLChannel.Line);

SendMessage:图片​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。

参数:

  • Type
  • ImagePath:图片路径,可提供本地图片路径或在线 URL
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
INTLAPI.SendMessage(reqInfo, INTLChannel.Line);

错误码​

void CheckThirdCode(INTLAuthResult result)
{
if(result.RetCode == 9999)
{
switch(result.ThirdCode):
{
case 5:
//LineSDKInternalErrorCodeInvalidTokenType
break;
case 2:
//LineSDKInternalErrorCodeMissingConfiguration
break;
case 2001:
// Error happens in the underlying `URLSession`.
break;
default:
// Unknown error code
break;
}
}
}
错误码说明
0未知错误
1登录错误
2配置缺失
3验证已取消
4Token 丢失
5错误 Token 类型
6缺少必填字段
7值的类型无效
8JSON 中 Web key 类型无效
9Token ID 验证失败

更多详情,请参看 Handling errors。

QQ​

QQ 支持以下分享模式:

  • QQ 好友分享:分享给 QQ 好友或群组,使用 SendMessage 方法。
  • QZone 分享:分享到 QZone,使用 Share 方法。

可用 SendMessage 或 Share 将以下内容分享到 QQ:

  • SendMessage:文本
  • SendMessage:链接
  • SendMessage:图片
  • SendMessage:视频
  • Share:链接
  • Share:图片
  • Share:视频

SendMessage:文本​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Description:文本内容,最多1,536个字符
var reqInfo = new INTLFriendReqInfo();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_TEXT;
reqInfo.Description = "INTL text sending test";
INTLAPI.SendMessage(reqInfo, INTLChannel.QQ);
Image: QQ send text

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Title:标题,最多128个字符
  • Description:描述,最多512个字符
  • Link:URL,最多1,024个字符
  • ThumbPath:缩略图路径,图片大小不能超过 1MB
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);
Image: QQ send link

SendMessage:图片​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Title:标题
  • Description:描述
  • 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);

SendMessage:视频​

调用 SendMessage 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Title:标题
  • Description:描述
  • MediaPath:视频路径,必须是在线视频的 URL
var reqInfo = new INTLFriendReqInfo ();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.Title = "Game Video";
reqInfo.Description = "Golden moment";
reqInfo.MediaPath ="http://v.qq.com/cover/5/53x6bbyb07ebl3s/n0013r8esy6.html";
INTLAPI.SendMessage(reqInfo, INTLChannel.QQ);
Image: QQ send video

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Title:标题,最多128个字符
  • Description:描述,最多512个字符
  • Link:URL,最多1,024个字符
  • ImagePath:缩略图路径,图片大小不能超过 1MB
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);
Image: QQ share link

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Description:描述
  • ImagePath:图片路径,可提供本地图片路径或在线 URL
var reqInfo = new INTLFriendReqInfo ();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.Description = "INTL description";
reqInfo.ImagePath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.Share(reqInfo, INTLChannel.QQ);

Share:视频​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需安装并已登录 QQ 应用。

参数:

  • Type
  • Title:标题
  • Description:描述
  • MediaPath:视频路径,必须是在线视频的 URL
  • ThumbPath:缩略图路径
var reqInfo = new INTLFriendReqInfo ();
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.Title = "Game Video";
reqInfo.Description = "Golden moment";
reqInfo.MediaPath = "http://v.qq.com/cover/5/53x6bbyb07ebl3s/n0013r8esy6.html";
reqInfo.ThumbPath = "http://mat1.gtimg.com/www/qq2018/imgs/qq_logo_2018x2.png";
INTLAPI.Share(reqInfo, INTLChannel.QQ);
Image: QQ share video

System​

原生的 iOS 系统分享功能支持分享文本信息,图片和链接,还支持自定义分享界面。

分享​

每种分享类型都有自己的必填参数,例如文本分享的 Description。如果输入了与功能无关的参数,如文本分享的 Link 或 ImagePath,则无关参数将被忽略。

回调只显示系统分享页面是否成功打开,而不显示分享是否成功

功能必填参数
Share:文本Description
Share:链接Description
Link
Share:图片ImagePath

自定义分享界面​

自定义 iOS 系统分享界面时,只能删除界面中的 iOS 系统应用程序,例如邮件、提醒事项、短信、AirDrop 等。游戏无法选择是否在界面中显示应用程序。自定义 iOS 系统界面时,即使配置了 ExtraJson 也不起作用,只能显示所有应用。

上报系统分享事件​

Player Network SDK 上报所选渠道的系统分享事件,业务可在 DD平台 查询相应的数据报表 insight_1000_system_share。当查找报表时,业务可以过滤关键字,例如 QQ,Facebook,VK 等。

关键字段:

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

Twitter​

注意

Twitter SDK 目前已经不再维护,Twitter 分享时将拉起系统分享。

可用 Share 将以下内容分享到 Twitter:

  • Share:文本
  • Share:链接
  • Share:图片

要将 iOS 游戏内容分享到 Twitter,玩家需先在设备安装并登录 Twitter 应用。在 iOS 设备授权的时候 Twitter 有可能无法重定向回游戏,可选择重试进行解决。

如果玩家拥有多个 Twitter 账号,并在游戏中分享内容前切换了登录账号,则游戏还是会使用之前的账号进行分享。要解决这个问题,可在调用 Share 时在 ExtraJson 中添加 \"login_first\":1 属性,让 Twitter 在每次分享前重新授权(不会改变游戏的当前登录状态),确保内容分享到当前的账号。

当玩家在短时间内重复分享同样的文本或链接时,Twitter 可能会返回 403 错误。

Share:文本​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。
玩家需安装并已登录 Twitter 应用。

参数:

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

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需安装并已登录 Twitter 应用。

参数:

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

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需安装并已登录 Twitter 应用。

参数:

  • Type
  • ImagePath:图片路径,可提供本地图片路径或在线 URL
var reqInfo = new INTLFriendReqInfo
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_IMAGE;
reqInfo.ImagePath = "/path/to/image";
INTLAPI.Share(reqInfo, INTLChannel.Twitter);

VK​

可用 Share 将以下内容分享到 VK:

  • Share:文本
  • Share:链接
  • Share:图片

Share:文本​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。

参数:

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

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。

参数:

  • Type
  • 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:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。

参数:

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

WhatsApp​

可用 Share 将以下内容分享到 WhatsApp:

  • Share:文本
  • Share:链接
  • Share:图片
  • Share:视频
注意

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

Image: WhatsApp Android

Share:文本​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_TEXT。
玩家需安装并已登录 WhatsApp 应用。

参数:

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

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_LINK。
玩家需安装并已登录 WhatsApp 应用。

参数:

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

Share:图片​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_IMAGE。
玩家需安装并已登录 WhatsApp 应用。

参数:

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

Share:视频​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需安装并已登录 WhatsApp 应用。

参数:

  • Type
  • MediaPath:视频路径,可提供本地视频路径或在线 URL
var reqInfo = new INTLFriendReqInfo
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "WhatsApp");

Youtube​

可用 Share 将以下内容分享到 Youtube:

  • Share:视频

Share:视频​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。

参数:

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

TikToK​

可用 Share 将以下内容分享到 TikToK:

  • Share:视频

Share:视频​

调用 Share 方法,并将 Type 设置为 INTLFriendReqType.Friend_REQ_VIDEO。
玩家需安装并已登录 TikToK 应用。

参数:

  • Type
  • MediaPath:视频路径,可提供本地视频路径或在线 URL
var reqInfo = new INTLFriendReqInfo
reqInfo.Type = (int)INTLFriendReqType.Friend_REQ_VIDEO;
reqInfo.MediaPath = "/path/to/video";
INTLAPI.Share(reqInfo, "TikToK");

回调​