(8)Unity3DとSwiftでiOSプログラミング~AdMod【実装編-1】
こんにちは。川上です。
わぁーい。やっとここまでたどり着いてきました。
AdModの実装するプログラミングのイロハです。って言っても、大げさではありませんし、ややこしいことには出来ませぬ。
ちょこっとだけ、気づいたことや注意点などのMy備忘録を書いていますので、間違っていたらごめんなさいね。
。=・=_
AdModの実装は、NundaSunaのiOS上でSwift内でコーディングしていきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import UIKit import Firebase // --- (1) @objcMembers class GateInUnity: NSObject { //MARK: AdMobの初回限定のInit管理用FLG static var AdMob1StChk :Bool = true // ---- (2) //MARK: Test通知をSwift内Viewに入れる static func testSendToSwift() { print(" = Unity ==> testSendToSwift --> initAdMobToUnity()") //AdModのイニシャライズ (initialize) initAdMobToUnity() // ---- (3) } ・・・・ ・・・・ } //EOF -- class GateInUnity |
> import Firebase // — (1)
Firebaseのフレームワークの組み込み用です。
> static var AdMob1StChk :Bool = true // —- (2)
アプリの起動時に、初回の1回でAdModの処理をイニシャライズする場合です。
「初回の1回」のCheck用の変数値を持つ用にしています。
> initAdMobToUnity() // —- (3)
AdModのイニシャライズ (initialize)用関数です。
XCodeで通常のアプリを作成した場合、
「AppDelegate.swift」の「didFinishLaunchingWithOptions」でイニシャライズ用の関数を呼ぶのですが、
UnityからのiOSで作成したアプリの環境内容には「AppDelegate.swift」が見当たらないのです。
ので、その後に作成する initAdMobToUnity() // —- (3) 内に
「初回に1回」するAdModのイニシャライズを組み込みようにしました。
Unityでプラグインして、iOSに電信する時に繋ぐことができるiOSアプリのSwiftオブジェクトは、
・NSObjectの派生クラス
・staticにした関数や変数
で作成するのが必要のようでした。
ので、Unityからの通信は、
> class GateInUnity: NSObject
でクラス指定でしています。
ここで、重要なメモです。
Unityから起動したアプリでXcodeのコードを編集した場合、
【忘れずに、Xcodeのコードを編集や作成したFileは、Unity側のiOS用の場所にコピペする】
です。
もし、コピペを忘れて、Unityの「Build」をすると、Unity側のiOS用の場所のFileは、Xcode側のiOS側に置き換えられます。
編集したコードはさっぱりなくなり、とっても悲しいことになりますから注意しましょう。
・Xcode側のiOS側フォルダ
<アプリフォルダ>
ー iOSUnityApp
ー Libraries
ー Plugins
ー iOS
・Unity側のiOS側フォルダ
<アプリフォルダ>
ー Assets
ー Plugins
ー iOS
=・=・=
ではでは。