Mobage iOS NativeSDK Quick Guide

1 前期准备

要使用 Mobage Native SDK 进行开发需要进行必要的前期准备。

1.1 注册成为DeNA开发者

访问 DeNA 开发者论坛 https://developer.mobage.cn/v/ 。根 据提示注册新的用户,完成后通过登陆开发者网站。

1.2 注册应用程序

输入相应信息后点击确认,在确认页面点击提交。跳转到应用程序详细。

 

 

1.3 获得客户端用key、secret

选中基本信息中的iOS Tab,其中的SDK Consumer Key、Secret将会在后面开发中用于接入SDK,在未半公开的情况下,只能使用Sandbox环境。

基本信息Tab中的key和secret是服务器端使用,不要和客户端SDK用的搞混了。

1.4 注册沙箱账户

This step for China platform is usually not necessary.

China platform provide a weak account system that allow players log into game without registration.

(System will assign an account automatically)

But developer still can create Sandbox account to test Switch Account function.

A Sandbox account ,or test account, is required when testing games in Sandbox. 
Each partner is enabled to create a Sandbox account and test one game developed by the identical developer. 

How to create a Sandbox account?


1.Login the Developer Site with partner ID.



2.Choose “Account” > “Add Sandbox Account” in the left menu to enter the page for creating accounts. Input the Sandbox Account Name and E-mail address then submit.

3.Filled E-mail will receive an activation email with the URL about Sandbox testing for smart phone.

4.Click the link to active the account.

5.Finish the registration and the Sandbox account is created.

2 Xcode相关设定


本章介绍 Mobage iOS Native SDK Xcode 5开发工具的设定。

本文环境:

  • Mac OS X 10.9
  • XCode 5.0.2
  • Mobage iOS SDK 1.3.6

2.1 导入MobageSDK目录


在 Xcode 中导入 (Add File To)MobageSDK 目录, 加入到工程根目录(注意,MobageNativeSDK.VERSION 和conf.json 文件是必须的),如下图所示:

 

 

2.2 删除重复资源文件

在SDK\images文件夹下有cn、tw两个文件夹,分别面向简体平台和繁体平台,删除不需要的平台即可。

2.3 更改AppDelegate的后缀名

为了提高效率,在梦宝谷SDK中使用了大量的C++代码。为了混编ObjC代码和C++代码,需要将AppDelegate.m修改后缀为AppDelegate.mm 

2.4 设置C++编译环境

开发者需要设置 Xcode build setting 中设置C++的编译环境,否则会编译错误。

找到Apple LLVM 5.0 - Language - C ++, 将C++ Standard Library 改为 libstdc++,如下图所示:

2.5 设置otherlinkerflag

开发者需要设置 Xcode build setting 相关内容。如下图所示:

2.6 导入需要的framework

选择工程文件的 Build phase 面板,然后打开 Link Binary With Libraries,

Moabge SDK 使用了一些特定的 framework, 主要的有

  • libz.dylib
  • CoreLocation.framework
  • CoreTelephony.framework
  • QuartzCore.framework
  • CFNetwork.framework
  • CoreGraphics.framework
  • MessageUI.framework
  • MobileCoreServices.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • UIKit.framework
  • CoreText.framework
  • Security.framework
  • libsqlite3.dylib 
  • AdSupport.framework(set as Optional)
  • Social.framework(set as Optional)
  • Accounts.framework(set as Optional)
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreMotion.framework
  • EventKit.framework
  • MediaPlayer.framework

 

2.7 设置KeychainGroups

选择工程文件的Capability 面板,, 找到“KeyChain Sharing” 并添加 "com.mobage.shared" 到"Keychain Groups"中. 请注意,如果不添加"Keychain Groups",您可能无法正确访问梦宝谷平台

3 Mobage平台初始化

3.1 修改 conf.json 文件


导入 MobageSDK 后,会发现有一个 conf.json 文件。

在conf.json中指定了开发环境:sandbox(沙箱测试环境)或者production (正式环境)

一个基本的 conf.json 的例子如下: conf.json 示例:

参数说明
platformEnv指定 SDK 的环境类型,可填写 SANDBOX 和 PRODUCTION,(必须为大写字母) 分别代表 Mobage 平台的开发测试 环境和产品环境。
app_id指定了此应用在 Mobage 平台上的产品 ID,这项内容从之前的开发者网站获得。
affcode指定了此应用发布的渠道类型,初始值为 1980000000,无需开发者填写,开发者平台会自动处理。

3.2 Mobage 平台初始化相关代码

3.2.1 头文件

在AppDelegate.m中,引入梦宝谷SDK的头文件

3.2.2 初始化

在函数

的return YES;前需要添加如下代码来初始化程序

注意,将你的appid,key,secret填入上述代码的initialize:方法中

3.3 退到后台和从后台恢复的相关代码

应用程序需要处理退后台,以及从后台恢复两个事件。

3.3.1 退到后台时需要调用的代码

在函数

或者函数

中添加如下代码(根据游戏需求,只需在上述一个函数中添加即可,无特殊需求就在applicationDidEnterBackground中添加)

3.3.2 从后台恢复时需要调用的代码

在函数

或者函数

中添加如下代码(根据游戏需求,只需在上述一个函数中添加即可,无特殊需求可在applicationDidBecomeActive中添加)

3.4 编译运行

至此梦宝谷iOS SDK应该已可以编译运行。Mobage iOS SDK 同时支持模拟器和实体机,

4 Mobage功能接入

4.1 交易

 

Mobage平台有统一的货币—M币,用户在社区用支付宝,财付通等方式将人民币充值成M币。对于充值M币这个流程,SDK用webview实现,整个平台是统一的,不需要开发商再做额外的接入。而开发商需要实现的是用M币来购买游戏内道具的流程。

mobage提供3种流程,详细流程可以参考(https://docs.mobage.com/display/CNSPAPP/How+to+use+bank+and+eco+native), 如果只是简体平台和繁体平台,并没有海外平台的计划,则推荐使用第一种流程接入,这里介绍一下第一种流程的大致步骤:

 

(1)先到开发者网站注册道具信息,

 

(2)在游戏控制台 - 2其他功能追加 - Bank回调设置中设置该应用的回调地址,用于接收交易完成之后Mobage发出的Http请求,以通知游戏服务器交易完成。(该步骤可选,如未登记回调地址则不会调用。)

 

(2)按create->open->close的顺序在createTransaction的onSuccess回调函数里面调用openTransaction, 在openTransaction的onSuccess回调函数里面调用closeTransaction,注意交易必须成功close交易才算完成。虽然在openTransaction的时候已经扣费,但是如果没有close,10分钟之后交易会被自动cancel并将扣除的M币返回给用户账号。

 

(3)在close之后Mobage平台会向登记的回调地址发送http请求,开发者需要对该请求进行处理。详情参考https://docs.mobage.com/display/CNSPAPP/Callback+function+description

4.2 其他API

关于其他API,可参考随SDK附带的示例代码及文档

PREVIOUS

Mobage Android NativeSDK Quick Guide

NEXT

How to Use the Bank and Economy