文档

​
​

Development

User Acquisition

Monetization

工业

Unity Offerwall

Offerwall Android SDK

Offerwall iOS SDK

Offerwall Unity SDK

Unity Offerwall

Tapjoy Offerwall
​
​
开始使用
  • 访问 Tapjoy Offerwall 变现后台
  • 开始使用 Offerwall
  • 在 Unity Ads 中推广 Offerwall
  • 应用设置
Dashboard(后台)
  • AB 测试
  • 货币促销
  • 兑换比例
  • 消息
  • Offerwall 卡片
  • 广告位
  • 发行商客户服务工具
  • 定向投放
  • 指标参考
优化
  • 变现策略规划
API
  • API 身份验证
  • Reporting API 发行商
  • Reporting API 最佳实践
  • 内容管理
  • 用户级收入 API 概述
虚拟货币
  • 虚拟货币概述
  • 自管货币
  • Tapjoy 托管货币
  • 回调故障故障排除
其他
  • Offerwall Monetization(变现)后台用户角色和权限
  • 故障排除
  • 应用隐私 - iOS
  • 数据安全 - Android
  • 常见问题解答
  1. 实现游戏增长
  2. Unity Offerwall
  3. Offerwall 变现

消息

在应用中实现量身定制的消息,引导用户访问 Offerwall 并完成指定的事件。
阅读时间8 分钟
最后更新于 2 天前

您可以通过 Message to Earn (M2E) 或深度链接到 Offerwall 的应用内消息来引导用户访问 Offerwall。
下图展示了一个应用内消息示例,告知用户限时完成任务即可获得双倍宝石奖励。用户可以点击 Earn More Now(立即赚取更多)访问 Offerwall 并完成这些任务。
优惠墙的应用内消息示例。

消息最佳实践

设置消息时,请牢记以下最佳实践,有助于引导更多用户访问 Offerwall。

在消息中推广货币促销

使用 M2E 或应用的消息系统提供个性化的货币促销,提升用户对促销活动的认知度。如需了解更多信息,请参阅 “货币促销”文章的使用消息功能优化货币促销一节。

利用有效的消息广告位提升 Offerwall 可见性

为了引导更多用户访问 Offerwall,您可以在以下类型的广告位中配置消息:
  • 应用加载完成后在主屏幕上
  • 货币不足触发的对话框中
  • 应用收件箱消息内
  • 用户到达某一关卡后
  • 用户完成游戏事件后

应用用户定向投放

使用个性化消息针对特定用户组进行定向投放。请参阅下列示例,帮助识别关键用户细分段,并为每个细分段创建定制消息:
  • 欢迎新用户在限定时间内完成首个任务以获得双倍奖励。
  • 鼓励在特定天数内仍未完成任务的用户采取行动。
  • 提醒在特定天数内未登录 Offerwall 的用户重新回归。
  • 重新吸引参与了 Offerwall 事件但未能完成的用户。

评估应用内消息的有效性

为优化应用内消息,可进行 A/B 测试,根据使用情况数据确认最有效的消息版本。如需有关 A/B 测试的更多信息,请参阅 A/B 测试工具。

配置 Message to Earn

Message to Earn (M2E) 作为 Tapjoy 的一项功能,可在游戏过程的特定时间和位置显示可自定义的应用内消息。此功能可向用户展示特定的促销信息,引导用户访问 Offerwall 参与互动。
注意
您可以在创建内容卡片时配置 M2E。如需详细了解如何创建内容卡片,请参阅创建内容卡片。
要配置 M2E,请按照以下步骤操作:
  1. 在 **Content card(内容卡片)**设置中,转到 Message to Earn 部分。
  2. 启用 Message to Earn 切换开关。
  3. 上传用于纵向和横向视图的消息图像。
  4. 在 **Transition(过渡)**下,选择动画效果以定义应用内消息如何在屏幕上出现。可选择以下选项之一:
    • Swipe(滑动):应用内消息以滑动方式出现。
    • Tap(点击):应用内消息在用户点击屏幕后出现。
    • Auto (after 5 seconds)(自动(5 秒后)):应用内消息在用户无操作的情况下 5 秒后自动出现。
  5. 输入消息。

将应用内消息深度链接到 Offerwall

如果您更倾向于使用应用自身的消息系统,可将应用内消息深度链接到 Offerwall。要根据您的实现方式将应用内消息深度链接到 Offerwall,请参阅以下说明以及各平台的具体操作过程:
  1. 在 Tapjoy 后台中,为您的自定义应用内消息创建一个内容相关广告位。
    提示
    为了便于广告位的管理和归类,请使用清晰的命名方式,指明其用途。例如,广告位名称
    Level_Complete_Popup
    表示该广告位用于展示用户完成游戏关卡后出现的消息。
  2. 创建内容卡片以引导用户从您的自定义应用内消息跳转。
    注意
    保持 Message to Earn 处于禁用状态,以确保用户只会遇到自定义应用内消息。
  3. 要在代码中实现广告位,请将以下代码复制到您的项目中,然后将广告位名称字符串占位符替换为您在步骤 1 中创建的确切广告位名称。
    重要
    请确保文本大小写、空格和特殊字符与后台中的广告位名称完全一致。
TJPlacementListener placementListener = this;TJPlacement p = Tapjoy.getPlacement("[PLACEMENT_NAME]", placementListener);// Listenerspublic void onRequestSuccess(TJPlacement placement);public void onRequestFailure(TJPlacement placement, TJError error);public void onContentReady(TJPlacement placement);public void onContentShow(TJPlacement placement);public void onContentDismiss(TJPlacement placement);
TJPlacement *p = [TJPlacement placementWithName:@"Main Menu" delegate:self];// Callbacks- (void)requestDidSucceed:(TJPlacement*)placement{}- (void)requestDidFail:(TJPlacement*)placement error:(NSError*)error{}- (void)contentIsReady:(TJPlacement*)placement{}- (void)contentDidAppear:(TJPlacement*)placement{} - (void)contentDidDisappear:(TJPlacement*)placement{}
let p = TJPlacement(name: "Main Menu", delegate: self)// Callbacksfunc requestDidSucceed(_ placement: TJPlacement!) {}func requestDidFail(_ placement: TJPlacement!, error: Error!) {}func contentIsReady(_ placement: TJPlacement!) {}func contentDidAppear(_ placement: TJPlacement!) {}func contentDidDisappear(_ placement: TJPlacement!) {}
TJPlacement p = TJPlacement.CreatePlacement("PLACEMENT_NAME");TJPlacement.OnRequestSuccess += HandlePlacementRequestSuccess;TJPlacement.OnRequestFailure += HandlePlacementRequestFailure;TJPlacement.OnContentReady += HandlePlacementContentReady;TJPlacement.OnContentShow += HandlePlacementContentShow;TJPlacement.OnContentDismiss += HandlePlacementContentDismiss;
let placement = new TJPlacement("PLACEMENT_NAME");placement.on(TJPlacement.REQUEST_DID_SUCCEED, (placement: TJPlacement) => { });placement.on(TJPlacement.REQUEST_DID_FAIL, (placement: TJPlacement) => { });placement.on(TJPlacement.CONTENT_IS_READY, (placement: TJPlacement) => { });placement.on(TJPlacement.CONTENT_DID_APPEAR, (placement: TJPlacement) => { });placement.on(TJPlacement.CONTENT_DID_DISAPPEAR, (placement: TJPlacement) => { });
重要
在请求内容之前,请确认已收到
onConnectSuccess
回调以确保 Tapjoy SDK 已成功连接。收到
onConnectSuccess
回调可以避免过早请求内容而导致错误。
  1. 要为广告位请求应用内消息,请将以下代码复制到您的项目中。
if(Tapjoy.isConnected()) {p.requestContent();} else {Log.d("MyApp", "Tapjoy SDK must finish connecting before requesting content.")}
[p requestContent];
p?.requestContent()
if (Tapjoy.IsConnected()) {p.requestContent();} else { Debug.LogWarning("Tapjoy SDK must be connected before you can request content.");}
placement.requestContent();
  1. 要展示可用的应用内消息,请将以下代码复制到您的项目中。
此代码通过
onContentReady
监听器方法来展示应用内消息。
public void onContentReady(TJPlacement tjPlacement) {if(tjPlacement.isContentReady()) { p.showContent();}}
if (p.isContentReady) { [p showContentWithViewController:nil];}else {//handle situation where there is no content to show, or it has not yet downloaded.}
if (p.isContentReady) {p.showContent(with: nil)} else {//handle situation where there is no content to show, or it has not yet downloaded.}
if (p.IsContentReady()) {p.ShowContent();} else { // Code to handle situation where content is not ready goes here}
if (placement.isContentReady()) {placement.showContent();}

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • 消息最佳实践

      • 在消息中推广货币促销

      • 利用有效的消息广告位提升 Offerwall 可见性

      • 应用用户定向投放

      • 评估应用内消息的有效性

    • 配置 Message to Earn

    • 将应用内消息深度链接到 Offerwall


报告此页面的问题