MightyIO-iOS-Pod 1.0.0

MightyIO-iOS-Pod 1.0.0

许可协议 MIT
发布最新发布2015年3月

BuenoGavin Potts维护。



MightyIO - iOS

MightyIO-iOS-Pod 将提供您与 MightyIO 交云所需的方法。它包含登录、设置 Mighty 丝带、显示/隐藏丝带以及完成 Mighty 购买后解锁物品/功能的方法。

快速入门指南


  1. 在将 MightIO 安装到您的 iOS 游戏之前,请访问 http://themighty.io,免费注册,如果您还没有的话,创建一次推广。
  2. 从 cocopods 在此处安装 Might: https://cocoapods.org.cn/?q=mighty
  3. 将 Mighty 导入到您的项目中:#import <MightyIO-iOS-Pod/Mighty.h>
  4. 在您的 AppDelegate 中,在 didFinishLaunchingWithOptions 方法中实例化 Mighty

    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
    {
        [Mighty initWithAuthToken:@"authtoken"];
        // Override point for customization after application launch.
        return YES;
    }
  5. 使用以下方法放置丝带:[[Mighty sharedInstance] makeRibbonWithCenter:CGPointMake(260, 45) inViewController:self withIntroModalOnFirstLaunch:YES];[[Mighty sharedInstance] makeRibbonWithIBOutlet:smRibbonOutlet inViewController:self withIntroModalOnFirstLaunch:YES];
  6. 在某些情况下,您可能希望根据玩家在游戏中的位置显示或隐藏丝带。这可以使用以下方法简单地完成:[[Mighty sharedInstance] makeRibbonHidden:NO withAnimation:YES];
  7. 最后,请确保将 Mighty 代理添加到界面文件中。
  8. 将 Mighty 代理添加到您的视图控制器: @interface HomeViewController : UIViewController <MightyDelegate>
  9. 在 ViewController 中,在 -(void)viewDidLoad 中添加 [Mighty sharedInstance].mightyDelegate = self;
  10. 将 Mighty 回调函数添加到 ViewController:- (void)mightyDidRecordSuccessfulTransaction:(SKPaymentTransaction*)transaction;
  11. 在 didRecordSuccessfulTransaction 函数中放置解锁物品的代码。

方法

Mighty 包含公共方法,允许您:

  • 登录
  • 处理 Mighty 购买
  • 成功购买后解锁 Mighty 物品

初始化函数

+ (Mighty*)sharedInstance; 返回一个共享实例。

返回值

  • (Mighty*)sharedInstance - 一个共享的 Mighty 实例。

+ (Mighty)initWithAuthToken:(NSString)token
使用 MightyIO 登录。登录此方法将根据 bundleIdentifier 返回您的游戏信息以及与该游戏关联的 Mighty 物品。

参数

  • (NSString*)token - SuperMighty 授权令牌。(在注册时生成)

示例

    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
    {
        [Mighty initWithAuthToken:@"authtoken"];
        // Override point for customization after application launch.
        return YES;
    }

-(void)makeRibbonWithFrame:(CGRect)frame inViewController:(UIViewController*)viewController withIntroModalOnFirstLaunch:(BOOL)modal; 这是一个将SuperMighty Ribbon放置在指定中心点的方法。只有当在您的SuperMighty帐户中创建了有效的游戏和物品时,Ribbon才会显示。该方法还将在部署到App Store时根据活动状态显示/隐藏Ribbon。在物品处于开发阶段时,只要存在有效的物品/游戏,Ribbon应始终显示。

参数

  • (CGPoint)center - 放置Ribbon到视图中的中心点。
  • (UIViewController*)viewController - 展示Ribbon的ViewController。
  • (BOOL)modal - 在首次启动时显示Mighty Info模态框。(这建议用于获得最佳效果)

示例

    - (void)viewDidLoad
    {
        [[Mighty sharedInstance] makeRibbonWithCenter:CGPointMake(260, 45) inViewController:self withIntroModalOnFirstLaunch:YES];
    }

-(void)makeRibbonWithIBOutlet:(UIButton*)button inViewController:(UIViewController*)viewController withIntroModalOnFirstLaunch:(BOOL)modal; 此方法允许您手动将SuperMighty ribbon资产放置在您的视图中,然后将其作为UIButton传递给SuperMighty。SuperMighty将为其添加一个目标,在控制事件UIControlEventTouchUpInside时启动SuperMighty。此方法还将在部署到App Store时根据活动状态显示/隐藏Ribbon。在物品处于开发阶段时,只要存在有效的物品/游戏,Ribbon应始终显示。需要注意的是,此方法将覆盖您的IBOutlet图像属性,以当前的MightyIO品牌为准。

参数

  • (UIButton*)button - 您要启动SuperMighty的按钮实例。
  • (UIViewController*)viewController - 展示Ribbon的ViewController。
  • (BOOL)modal - 在首次启动时显示Mighty Info模态框。(这建议用于获得最佳效果)

示例

    - (void)viewDidLoad
    {
        [[Mighty sharedInstance] makeRibbonWithIBOutlet:smRibbonOutlet inViewController:self withIntroModalOnFirstLaunch:YES];
    }

-(void)makeRibbonHidden:(BOOL)hidden withAnimation:(BOOL)animate; 允许您根据玩家在游戏中的位置显示或隐藏Ribbon。

参数

  • (BOOL)hidden - 是否隐藏Ribbon。
  • (BOOL)animate - 是否应动画过渡。

示例

    - (IBAction)showRibbon:(id)sender
{
    [[Mighty sharedInstance] makeRibbonHidden:NO withAnimation:YES];
}

Mighty代理函数

Mighty代理提供的方法允许您在代码中响应当前MightyIO操作,例如:加载/打开/关闭弹出商店和完成购买。

必须

-(void)mightyDidRecordSuccessfulTransaction:(SKPaymentTransaction*)transaction; 当玩家在Mighty弹出商店内完成购买时,将触发此代理函数,返回玩家事务的实例。请在以下代理方法中放置您的代码来解锁物品。

参数

  • (SKPaymentTransaction*)transaction - 由玩家购买的MightyItem创建的完成的SKPaymentTransaction的实例。

示例

- (void)mightyDidRecordSuccessfulTransaction:(SKPaymentTransaction*)transaction
{
    // You code to unlock the In-App Purchase
    // Ideally this would be dynamic so that a new deployment will not be necessary to create a new MightyItem
}

-(void)mightyTransactionFailedWithError:(NSError*)error; 此代理方法可以用来通知玩家,他们的交易无法处理。

参数

  • (NSError*)error - 失败购买产生的错误。

示例

- (void)mightyTransactionFailedWithError:(NSError*)error
{
    UIAlertView *purchaseError = [[UIAlertView alloc] initWithTitle:@"Purchase Error" message:@"There was an error processing their purchase." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
        [purchaseError show];
}

-(void)mightyFinishedLoadingWithActiveCampaign:(BOOL)hasCampaign; 当您的游戏加载时,MightyIO会检查是否有与您的Bundle Identifier匹配的游戏MightyItem存在。这时将触发此代理方法。

参数

  • (BOOL)hasCampaign - 如果存在与当前bundle identifier匹配的游戏和MightyItem,则返回true。如果没有找到与当前bundle identifier匹配的游戏,或者尚未设置MightyItem,则返回false。

-(void)mightyModalOpen; 当用户点击Ribbon并打开Mighty弹出商店时,将触发此代理方法。

示例

- (void)mightyModalOpen
{
    //Pause game play
}

-(void)mightyModalClose; 当玩家关闭Mighty弹出商店时,将触发此代理方法。

示例

- (void)mightyModalClosed
{
    //Resume game play
}

使用StackEdit编写。