void Start() { Debug.Log("Hello world!"); Debug.Log(Maio.PluginVersion); // maio 用のイベントハンドラを設定します。 Maio.OnInitialized += HandleOnInitialized; Maio.OnChangedCanShow += HandleOnChangedCanShow; Maio.OnStartAd += HandleOnStartAd; Maio.OnFinishedAd += HandleOnFinishedAd; Maio.OnClickedAd += HandleOnClickedAd; Maio.OnClosedAd += HandleOnClosedAd; Maio.OnFailed += HandleOnFailed; // 広告の配信テスト設定を行います。アプリをリリースする際にはコメントアウトして下さい。 Maio.SetAdTestMode(true); // SDK のセットアップを開始します。 Maio.Start(MEDIA_ID); showAdButtonText.text = "Loading Ad"; }
/// <summary> /// Start this instance. /// </summary> IEnumerator Start() { #if UNITY_IPHONE && !UNITY_EDITOR NotificationServices.RegisterForNotifications( NotificationType.Alert | NotificationType.Badge | NotificationType.Sound); // notification clear NativeRecieveManager.RemotePushClear(); #endif //ローディングアニメーション取得。 _loadAnimation.SetActive(true); //アプリ全体で使用する変数をリセット。 ResetStaticVariable(); //仮登録API ---------------------- new PreRegistUser(); while (PreRegistUser._success == false) { yield return(PreRegistUser._success == true); } _userKey = PreRegistUser._httpCatchData.result.user.user_key; _gender = PreRegistUser._httpCatchData.result.user.sex_cd; new GetUserApi(); while (GetUserApi._success == false) { yield return(GetUserApi._success == true); } //-------------------------------- 広告用設定 初期化処理 ここから -------------------------------- #if UNITY_IPHONE || UNITY_ANDROID && !UNITY_EDITOR if (GetUserApi._httpCatchData.result.review == "false") { string nendNativeAdApiKey_IOS = ""; string nendNativeAdSpotId_IOS = ""; string nendNativeAdApiKey_Android = ""; string nendNativeAdSpotId_Android = ""; if (CommonConstants.IS_AD_TEST == true) { //Imobile Test mode IMobileSdkAdsUnityPlugin.setTestMode(true); //Maio test mode Maio.SetAdTestMode(true); //バナー広告用 テスト IMobileSdkAdsUnityPlugin.registerInline( CommonConstants.IMOBILE_PARTNER_TEST_ID, CommonConstants.IMOBILE_MDDIA_TEST_ID, CommonConstants.IMOBILE_BANNER_SPOT_TEST_ID ); IMobileSdkAdsUnityPlugin.registerFullScreen( CommonConstants.IMOBILE_PARTNER_TEST_ID, CommonConstants.IMOBILE_MDDIA_TEST_ID, CommonConstants.IMOBILE_INTERSTATIAL_SPOT_TEST_ID ); //スポット情報の取得処理 //バナー広告用テスト IMobileSdkAdsUnityPlugin.start(CommonConstants.IMOBILE_BANNER_SPOT_TEST_ID); //インタースティシャル広告テスト IMobileSdkAdsUnityPlugin.start(CommonConstants.IMOBILE_INTERSTATIAL_SPOT_TEST_ID); //NEND IOS用 テスト nendNativeAdApiKey_IOS = CommonConstants.NEND_NATIVEAD_API_TEST_ID; nendNativeAdSpotId_IOS = CommonConstants.NEND_NATIVEAD_SPOT_TEST_ID; //NEND Android用 テスト nendNativeAdApiKey_Android = CommonConstants.NEND_NATIVEAD_API_TEST_ID; nendNativeAdSpotId_Android = CommonConstants.NEND_NATIVEAD_SPOT_TEST_ID; } else { // //バナー広告用 IMobileSdkAdsUnityPlugin.registerInline( CommonConstants.IMOBILE_PARTNER_ID, CommonConstants.IMOBILE_MDDIA_ID, CommonConstants.IMOBILE_BANNER_SPOT_ID ); //インタースティシャル用 IMobileSdkAdsUnityPlugin.registerFullScreen( CommonConstants.IMOBILE_PARTNER_ID, CommonConstants.IMOBILE_MDDIA_ID, CommonConstants.IMOBILE_INTERSTATIAL_SPOT_ID ); //フル広告用 IMobileSdkAdsUnityPlugin.registerFullScreen( CommonConstants.IMOBILE_PARTNER_ID, CommonConstants.IMOBILE_MDDIA_ID, CommonConstants.IMOBILE_FULL_SPOT_ID ); //スポット情報の取得処理 //インタースティシャル IMobileSdkAdsUnityPlugin.start(CommonConstants.IMOBILE_INTERSTATIAL_SPOT_ID); //バナー IMobileSdkAdsUnityPlugin.start(CommonConstants.IMOBILE_BANNER_SPOT_ID); //アイモバイル・フル広告用 IMobileSdkAdsUnityPlugin.start(CommonConstants.IMOBILE_FULL_SPOT_ID); //NEND Native AD IOS nendNativeAdApiKey_IOS = CommonConstants.NEND_NATIVEAD_API_IOS_ID; nendNativeAdSpotId_IOS = CommonConstants.NEND_NATIVEAD_SPOT_IOS_ID; //NEND Native AD ANDROID nendNativeAdApiKey_Android = CommonConstants.NEND_NATIVEAD_API_ANDROID_ID; nendNativeAdSpotId_Android = CommonConstants.NEND_NATIVEAD_SPOT_ANDROID_ID; } //Nend Native Ad セットアップ処理。 #if UNITY_EDITOR // UnityEditorの場合は、広告枠のタイプを指定しテスト用の広告を使って表示の確認が行えます。 m_NendAdClient = NativeAdClientFactory.NewClient(NativeAdClientFactory.NativeAdType.SmallSquare); m_NendAdFullBoard = NendAdFullBoard.NewFullBoardAd(CommonConstants.NEND_NATIVEFULL_SPOT_IOS_ID, CommonConstants.NEND_NATIVEFULL_API_IOS_ID); #elif UNITY_IPHONE m_NendAdClient = NativeAdClientFactory.NewClient(nendNativeAdSpotId_IOS, nendNativeAdApiKey_IOS); m_NendAdFullBoard = NendAdFullBoard.NewFullBoardAd(CommonConstants.NEND_NATIVEFULL_SPOT_IOS_ID, CommonConstants.NEND_NATIVEFULL_API_IOS_ID); #elif UNITY_ANDROID m_NendAdClient = NativeAdClientFactory.NewClient(nendNativeAdSpotId_Android, nendNativeAdApiKey_Android); //m_NendAdFullBoard = NativeAdClientFactory.NewClient (nendNativeAdSpotId_Android, nendNativeAdApiKey_Android); #endif //バナー広告用。 IMobileSdkAdsUnityPlugin.inlinieAdOrientation = IMobileSdkAdsUnityPlugin.ImobileSdkAdsInlineAdOrientation.PORTRAIT; //maio動画広告のクローズボタンが押された時のイベント処理。 Maio.OnClosedAd += MaioMovieSdkEvent.OnClosed; //動画 広告用。 Maio.Start(CommonConstants.MAIO_MEDIA_ID); NendAdBannerOrigenalManager.Instance.Init(); } #endif //-------------------------------- 広告用設定 初期化処理 ここまで-------------------------------- //メンテナンスの場合、処理を止める。 if (AppliEventController.Instance.MaintenanceCheck() == true) { _loadAnimation.SetActive(false); yield break; } //ユーザーのステータスをチェックする処理。 AppliEventController.Instance.UserStatusProblem(); //強制アップデートの場合、処理を止める。 if (AppliEventController.Instance.ForceUpdateCheck() == true) { _loadAnimation.SetActive(false); yield break; } //GPSを取得する処理。 yield return(StartCoroutine(GpsSet())); #if UNITY_IPHONE && !UNITY_EDITOR NativeRecieveManager.GetPushMessageIos(); #endif _tokenSent = false; _toPushCatchUserId = ""; #if UNITY_ANDROID //ステータスバーを表示 //Android用 ApplicationChrome.statusBarState = ApplicationChrome.States.VisibleOverContent; #endif //基本プロフィールを作成しているかどうかの判定。 if (string.IsNullOrEmpty(PreRegistUser._httpCatchData.result.user.name) == false && string.IsNullOrEmpty(PreRegistUser._httpCatchData.result.user.pref) == false && string.IsNullOrEmpty(PreRegistUser._httpCatchData.result.user.city_id) == false && string.IsNullOrEmpty(PreRegistUser._httpCatchData.result.user.birth_date) == false) { //基本プロフィールを作成している。 _isBaseProfile = true; } else { //まだ、基本プロフィールを作成していない。 _isBaseProfile = false; } //サーバーにイベント通知用Api(インストール時に一回のみ) ---------------------- _commonFileName = LocalFileConstants.GetLocalFileDir() + LocalFileConstants.COMMON_LOCAL_FILE_NAME; LocalFileHandler.Init(_commonFileName); //ファイルが作成されるまでポーリングして処理待ち while (System.IO.File.Exists(_commonFileName) == false) { yield return(System.IO.File.Exists(_commonFileName) == true); } //ここでユーザーキーを保存 LocalFileHandler.SetString(LocalFileConstants.USER_KEY, _userKey); LocalFileHandler.Flush(); //レビュー時、すれ違い機能は表示しないようにしておく。リスクヘッジ。 #if UNITY_ANDROID && !UNITY_EDITOR _deviceToken = GCMService.GetRegistrationId(); //デバイストークンの登録API---------------------- if (string.IsNullOrEmpty(_deviceToken) == false) { new SetDeviceToken(_userKey, _deviceToken); while (SetDeviceToken._success == false) { yield return(SetDeviceToken._success == true); } } else { GCMService.Registration(); } #endif //初期マスターデータの取得 //ファイルネーム比較してマスター更新分があったら再度Api飛ばしてローカルデータを更新する new InitDataApi(); while (InitDataApi._success == false) { yield return(InitDataApi._success == true); } //新着メッセージ未既読のAPI取得する new GetUnreadMessageCountApi(); while (GetUnreadMessageCountApi._success == false) { yield return(GetUnreadMessageCountApi._success == true); } _msgBadge = GetUnreadMessageCountApi._httpCatchData.result.count; var user = PreRegistUser._httpCatchData.result.user; if (string.IsNullOrEmpty(user.pref) == false && string.IsNullOrEmpty(user.city_id) == false && user.pref != "0" && user.city_id != "0") { if (PreRegistUser._httpCatchData.result.complete.Count > 0) { //Mypageシーンに遷移 - 遷移する前にログインボーナス表示 string loginComplete = PreRegistUser._httpCatchData.result.complete [0]; if (string.IsNullOrEmpty(loginComplete) == false) { StartEventManager.Instance.PanelPopupAnimate(_loginBonus); _loginBonus.transform.GetChild(0).localScale = new Vector3(1, 1, 1); _loadAnimation.SetActive(false); yield break; } else { _loadAnimation.SetActive(false); NextSceneProccess(); yield break; } } else { _loadAnimation.SetActive(false); NextSceneProccess(); yield break; } } else { if (_gender != "0") { NextSceneProccess(); yield break; } #if !UNITY_EDITOR && UNITY_IPHONE //初回時に通る処理。 => ポップアップ //説明用ポップアップ。 PopupSecondSelectPanel.Instance.PopMessageInsert( LocalMsgConst.SELF_SHARE_INFO_CONFIRM, LocalMsgConst.APPROVAL, LocalMsgConst.DENIAL, PublicUserInfoAllow, PublicUserInfoDeny ); GameObject obj = GameObject.FindGameObjectWithTag(CommonConstants.POPUP_SECOND_SELECT_TAG); StartEventManager.Instance.PanelPopupAnimate(obj); #endif if (string.IsNullOrEmpty(LocalFileHandler.GetString(LocalFileConstants.VALID_URL_KEY)) == true) { if (GetUserApi._httpCatchData.result.review == "false") { new Valid(_userKey); while (Valid._success == false) { yield return(Valid._success == true); } //start app installed. defaul browser open if (string.IsNullOrEmpty(Valid._httpCatchData.result.url) == false) { //ローカルファイルにvalid_urlで保存 初回インストール時のみ通知するURLとする LocalFileHandler.SetString(LocalFileConstants.VALID_URL_KEY, Valid._httpCatchData.result.url); LocalFileHandler.Flush(); var uri = new System.Uri(Valid._httpCatchData.result.url); Application.OpenURL(uri.AbsoluteUri); } } } LocalFileHandler.HashAllClear(); _startAnimation.GetComponent <uTweenPosition> ().enabled = true; _loadAnimation.SetActive(false); } }