【问题标题】:Chartboost in Cocos2D-X gameCocos2D-X 游戏中的 Chartboost
【发布时间】:2012-12-14 11:59:55
【问题描述】:

我在 cocos2d-x 游戏中使用了chartboost sdk,我可以在 appDelegate.m 中使用下面的代码并且效果很好......但是没有 c++ 调用图表提升。如何从 c++ 文件调用 showInterstitial API?

#define CHARTBOOST_APP_ID =@"Here added valid app id from chart boost account"
#define CHARTBOOST_APP_SIGNATURE @"Here added valid signature from chart boost"

Chartboost *cb = [Chartboost sharedChartboost];
cb.appId = CHARTBOOST_APP_ID;
cb.appSignature = CHARTBOOST_APP_SIGNATURE;

[cb startSession];

[cb showInterstitial];

Chartboost SDK 有 c++ 版本吗?

更新: 简单的解决方案是使用 Obj.C 版本的 Chartboost SDK,然后使用 .mm 文件中的 C++ 桥接类并从其他 .cpp 文件访问它。这是最简单和最好的方法。

这里是文件:Download

【问题讨论】:

  • 能否请您更简要地详细说明一下您是如何实现这一目标的……我也希望使用 cocos2d-x 3.2 实现这一目标
  • @shaqirsaiyed,在上面的问题中,查看最后一个下载链接,下载 MyChartboostBridge.h 文件并检查...享受

标签: iphone ios objective-c cocos2d-x chartboost


【解决方案1】:

Chartboost SDK 没有 C++ 版本,但是许多开发者已经成功地将 SDK 集成到 Cocos2d 游戏中。

他们通常会编写自己的包装器,但这位开发人员已经开源了他的: http://www.cocos2d-x.org/projects/cocos2d-x/assets/11 https://github.com/wenbin1989/Charboost-x

【讨论】:

  • 这些链接似乎仍然无效。要么修复它们,要么删除它们。
【解决方案2】:

Chartboost 为 iOS 开发和 Android 开发提供 SDK。

所以答案是否定的。目前还没有适用于 C++ 的 SDK。

【讨论】:

  • 是的..在 chartboost 网站中搜索。但是如何在 cocos2d-x 游戏中使用相同...我的意思是如何从 c++ 文件中调用 showInterstitial ?
  • 您的代码是正确的。您是否设置了 CB 帐户和广告系列?
  • 您必须在 Chartboost 中创建公共活动或交叉推广活动并添加您的测试设备。它一定会奏效的。如果它不起作用,请告诉我。
  • hmm..是的,当我在 appDelegate 中使用它时,甚至会出现广告......这不是问题,我如何在 cocos2d-x 游戏中从 c++ 代码中调用相同的东西?
  • 从 C++ 代码,它不会工作。您可以在 AppDelegate 中定义 Global 对象,然后您可以在整个游戏中使用它。无法从 C++ 代码中调用这些函数。
【解决方案3】:

最好和安全的方法是编写自己的 Obj.C 和 C++ 桥接类。

Here is files在Cocos2dx游戏中添加objectiveC版Chartboost sdk

【讨论】:

    【解决方案4】:

    你可以做这样的事情......

    将此添加到您的 AppDelegate.h:

    void InitChartBoost();
    void ShowInterstitial();
    

    然后创建一个文件 AppDelegate.mm 并添加以下方法:

    void AppDelegate::InitChartBoost()
    {
        id appDelegate = [[UIApplication sharedApplication] delegate];
    
        // Initialize the Chartboost library
        [Chartboost startWithAppId:@"your app id"
                      appSignature:@"your app signature"
                          delegate:appDelegate];
    }
    
    void AppDelegate::ShowInsterstitial()
    {
        [Chartboost showInterstitial:CBLocationHomeScreen];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2012-06-12
      • 1970-01-01
      相关资源
      最近更新 更多