仕事でMac(マクドナルドではないほう)の仕事がやってきたのでもっぱらObjective-cを書いております…
せんちゃです。
Mac(マクドナルドではないほう)はキーの入力の仕方がちょっと違います。
半角と全角の切り替えはWindowsキー+半角/全角です。
そしてCtrlキーはWindowsキーです。
非常にややこしい。
もうね、慣れてしまうとWIndowsに戻ってからの入力に戸惑ってしまうねぇ…
しかしiOSとAndroidだとサポートされている機能の幅を感じてしまいます。
iOSの開発キットは結構充実しています。
今回はアプリ内課金のシステム、及びそれをUnityに組み込んでプラグイン化するまでを任されたのですが
アプリ内課金に関してはAndroidより組みやすくなっています。
Androidの場合はServiceクラスとBroadcastReceiverクラスを作成し、
BroadcastReceiverクラスを通してマーケットからのレスポンスを受け取ります。
購入画面へはIntentの送信でストアへ遷移させる必要があります。
嫌な部分としてはいつどのタイミングでレスポンスがやってくるかがわからないということ。
アプリが停止していようとお構いなしでレスポンスを受け取らなければいけない。
常にバックグラウンドで処理し続けるため、いつやってきてもいいように組まなければいけない。
課金後はデータをサーバに送信する必要があるものの、通信が常に成功するとも限らないので
失敗した時のトランザクション保留も行う必要があります。
メリットは一つ一つのトランザクションを確実に実行してくれるという点。
不正なトランザクションが多重することはほとんどない。
iPhoneのほうはプロダクト情報の取得を行ったあとに課金リクエストを送ればそれで課金へ進む。
いたってシンプルです。
さらにその後のレスポンスもシンプルで
成功したか失敗したかを見るだけです。
アプリが停止している間もストアの課金処理は続きますが、アプリが停止していたら状態を受け取ることはなく、
次起動したときに再開されます。
オブサーバを自作する必要がなく、必要に応じてデリゲートが呼ばれるという点が楽で良いです。
そのデリゲートから来るレスポンスもそこまで難しいものではない。
ただしiPhoneにはトランザクションの中断があり、これが話をややこしくしています。
例えば課金決済をする際にクレジットカードから決済しようとするとクレカの情報を登録する処理に移ることがあります。
この段階でトランザクションは強制的に終了します、前までのトランザクションは残ったままです。
そして登録が終わるとまた購入ダイアログが登場して、購入しようとすると前回のトランザクションと重複して多重決済!
が発生してしまうらしいです。
なので不明なエラーによってトランザクションが中断したあとは必ずリストアして
正確なトランザクションを常に持った状態にしなければいけません。
どちらもどちらで癖がありますが、
OSの仕様が分かっていればAndroidがやりやすく
SDKの仕様が分かっていればiOSがやりやすいような気がします。
でもこういう課金処理をつくる場合って必ずユーザーアカウントが必要になるのですが
Appleの場合はGameCenterというサービスもGameKitフレームワークという形式で用意されていて
Apple側でユーザーアカウントを作ってもらうこともできるので
(いろんな意味で)自由がきかない分、Apple側がいろいろやってくれるので便利といえるかもしれません。
Windowsキー+半角キー=入力切り替え
Re: Windowsキー+半角キー=入力切り替え
Macの事は全然知らないのですが、MacなのにWindowsキーがあるのですか!?
最後に編集したユーザー Fimbul on 2012年11月14日(水) 23:37 [ 編集 1 回目 ]
Re: Windowsキー+半角キー=入力切り替え
Fimbulさん
コメントありがとうございます~
Macのキーボードには付いていませんが、WIndowsで使うキーボードでも操作はできるので、そのときに大変といった感じですかね
コメントありがとうございます~
Macのキーボードには付いていませんが、WIndowsで使うキーボードでも操作はできるので、そのときに大変といった感じですかね
Re: Windowsキー+半角キー=入力切り替え
Windows での「Ctrl」キーがマッキントッシュではコマンドキーがそれです。
コピー:コマンドキー+C
ペースト:コマンド+V
コピー:コマンドキー+C
ペースト:コマンド+V
最後に編集したユーザー naohiro19 on 2012年11月15日(木) 07:24 [ 編集 1 回目 ]
Re: Windowsキー+半角キー=入力切り替え
naohiro19さん
Mac用のキーボードじゃないと
ややこしいですよねぇ┐('~`;)┌
Mac用のキーボードじゃないと
ややこしいですよねぇ┐('~`;)┌