個人アプリ開発で月収5万円目指す

アプリ個人開発 まるブログ

アプリ開発覚え書き

厳選!私が実際に役に立ったUnity,iOS おすすめ動画講座【随時追加】

f:id:marumaro7:20200624224539p:plain

はじめに

みなさんプログラミングの勉強どうやって進めていますか??

私のおすすめは断然これ!


Udemy です。

友人から教えてもらったのですが、一流講師の講座が時間を選ばず受けられます。

セール時には1000円台から受講できるので本を買うより安くコスパ最強です。

エンジニアにマンツーマンで教えてもらおうと思うと、
1時間2500円が相場なので、それを考えると定価で購入してもお得だと思ってます。
とはいうものの、副業するならコストはできるだけ抑えたいので購入はセール時が狙い目です。

質問し放題に加えて、30日間返金保障なので安心して購入できます。

Udemyというか動画教材の欠点としては、
あとで見返すときに「確認したいところがわからない」
ということがあるので、Qiitaやブログなどでメモを残しておくと良いかもしれません。

Udemyでは細かくセクションごとに分かれ探しやすくなっていますが、
それでも不思議、私は探す笑

私が実際に役に立ったUdemyのおすすめ講座を紹介します。

Unity教材

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

【感想】
Unity教材で迷ったらこれで間違いなし! marumaro7.hatenablog.com ↑こちらの記事でも紹介しましたが、Unityの基礎だけでなく、
超つまづきやすいAndroidiOSのリリース手順まで解説しています。
なんですかこれ、、、神ですか?

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

【感想】
Unityで3Dをやりたいならこれ!
基礎から学ぶので初心者でも安心♪

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

【感想】
自分でマリオみたいなゲームが作れる幸せ!
マリオメーカーよりも自由に!

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

【感想】
3Dモデルに命を吹き込む!
Unity×Blenderで制作の幅が広がります。
Blenderのインストールは事前に必要です。

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

【感想】
とにかく量を作る!
なるほど量産テクニックです。

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

【感想】
Unityのチュートリアルをなにかしらやったことある人向けです。
カードゲームの基礎はここに。

iOS教材

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【感想】
ベストセラーだけあって初心者でもわかりやすい
Firebaseとの連携も解説されているのが個人的に嬉しいポイントです。

おわりに

Unity教材全部スタジオしまづやないか!と思いました?
だってわかりやすいんだもの、、、

UnityAds 出金設定をしてみました。

はじめに

ちまちま貯めたUnityAdsの広告収入を確認したら100ドルを超えていたので
出金手続きをした備忘録です。

手続きメニューを開く

手続きメニューは、ユニティのダッシュボードから操作します。
ダッシュボードへは、私はいつもアセットストアから入っていますw

f:id:marumaro7:20211123093724p:plain


ダッシュボードを開いたら
→Monetization Ads
→Finance
→Go to Payout profile
をクリックします。

f:id:marumaro7:20211123093940p:plain


遷移先の画面でAdd profileで設定していきます。 f:id:marumaro7:20211123094251p:plain


2段階認証を有効にしろと言われるので設定します。 f:id:marumaro7:20211123094356p:plain:w400


二要素認証を有効にする
追加の支払いプロファイルを追加し、現在のプロファイルを編集するには、
2要素認証をアクティブ化する必要があります。

→Start setup
f:id:marumaro7:20211123094702p:plain:w400

→2段階認証コードの受け取り設定です。
 今回、私は電話番号を設定しました。 f:id:marumaro7:20211123094900p:plain:w400


2段階認証コードを受け取る電話番号を入力します。
番号が080-1234-5678であれば
8012345678といった具合に先頭の0は入力不要です。

f:id:marumaro7:20211123095003p:plain:w400

入力した電話番号に
認証コードが書かれたSMSが送られてくるのでそれを入力します。 f:id:marumaro7:20211123100216p:plain:w400



認証が終わると、このような2段階認証の設定画面になります。
f:id:marumaro7:20211123095550p:plain:w400


本来の目的である受け取り設定を行いたいので、
Organizations→Payout Profileから先ほどの設定画面に戻ります。
改めてAdd profileを押します。
f:id:marumaro7:20211123100110p:plain:w400


また認証コードの入力になるので、
再度送付された認証コードを入力します。
f:id:marumaro7:20211123100216p:plain:w400

すると、このような画面になるので、必要事項を入力します。
「Payment recipient is」(支払い先)は、
Company か Private individual(個人)の選択式なので
今回は個人を選択しました。 f:id:marumaro7:20211123101735p:plain

これでようやく支払い設定画面にこれました。
まずは、税務情報を入力していきます。
Payout Tax Infoの「Create」を押します。

税務情報

注意書きを読んでContinueを押します。
f:id:marumaro7:20211123102542p:plain:w400


個人情報を入力します。
最初の項目は個人を示す
「Individual / sole proprietor or single-member LLC *」
を選択しました。

「FirstName」は名前
「LastName」は名字を入力します。
f:id:marumaro7:20211123104029p:plain:w400



必須入力のところは自動で入力されていたのでそのままContinueしました。
f:id:marumaro7:20211123104631p:plain:w400



電子証明書の提供と情報報告文書の受け取りに同意 f:id:marumaro7:20211123105247p:plain:w400



あなたは米国居住者ですか的なことを聞かれるので「No」を選択
f:id:marumaro7:20211123105523p:plain:w400



「受益者のタイプ?」を聞かれますがIndividual(個人)が入力されており、
変更もできないのでこのままContinueします。 f:id:marumaro7:20211123105941p:plain:w400



サービス提供時の所在を聞かれるので米国外で実施にチェックします。 f:id:marumaro7:20211123110458p:plain:w400



米国で事業をしているか聞かれるので「No」をチェックしてContinueします。 f:id:marumaro7:20211123110819p:plain:w400



フォームが自動で入力されるので内容を確認して、Continueを押します。 f:id:marumaro7:20211123111143p:plain:w400



いろいろチェックボックスが出てくるので当てはまるものを選択します。
特に、「Capacity in which acting」が謎すぎるのですが、
こちらの情報から個人と書けば良いようなので「Individual」と書いておきました。

"Capacity in which acting" on the W-8BEN … - Apple Community

入力後、「Submit W-8BEN」を押して提出します。
f:id:marumaro7:20211123112529p:plain:w400


これで終了ですと言われるのでボタンを押します。 f:id:marumaro7:20211123112949p:plain:w400

支払い方法

次に、支払い情報を設定するので
「+Add payout method」を押します。
f:id:marumaro7:20211123113437p:plain:w400

支払い方法は銀行かPaypalを選択します。 f:id:marumaro7:20211123113709p:plain


銀行を選択すると、海外送金手数料が1500円とられるらしいので、
今回はPaypalで設定してみました。
f:id:marumaro7:20211123114344p:plain

これで設定完了です!
f:id:marumaro7:20211123114630p:plain

おわりに

まだ、設定をしただけで、
今後どのような形で日本円にしていくか決めていませんが、
進捗ということで共有しておきます。
進展ありましたら続きを書いていきます。

【Unity】admobバージョンを上げた際のエラー Multiple precompiled assemblies with the same name Google.VersionHandler.dll included or the current platform. Only one assembly with the same name is allowed per platform.

Unityバージョン2019.3.15f1から2020.3.18f1へ上げ admobバージョンv5.4.0からv6.1.2へ上げた際のエラー

Assets>ExternalDependencyManager>Editor>Google.VersionHandlerのファイルを消したら消えました。

【Unity】PlayFab ログイン機能の実装

はじめに

UnityでのPlayFab使用におけるログイン方法です。

前回記事での問題

marumaro7.hatenablog.com

こちらの記事でログインを実装しましたが、
ログインに使用する文字列は"GettingStartedGuide"の固定されたものとなっています。
(PlayFabのアカウント情報の下の方を見ると、PlayFabIDと紐づいている文字列が表示されます)
B96E4C057BE19AC2_»_概要_·_PlayFab.png

そのため、誰がログインしても同じPlayFabアカウントとなってしまうので、
端末ごとにログインに使う文字列を変えてやる必要があります。

端末ごとにログインIDを変更

そこで、端末ごとにログインできるようにしたのが下記のコードになります。
(kanさんのブログ(文末の参考を参照)内容を私でも直感的にわかるように書き換えました。)

using System;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;

/// <summary>
/// PlayFabのログイン処理を行うクラス
/// </summary>
public class PlayFabLogin : MonoBehaviour
{    
    private bool _shouldCreateAccount;//アカウントを作成するか    
    private string _customID;//ログイン時に使うID

    //=================================================================================
    //ログイン処理
    //=================================================================================
    public void Start()
    {
        Login();        
    }



    //ログイン実行
    private void Login()
    {
        _customID = LoadCustomID();
        var request = new LoginWithCustomIDRequest { CustomId = _customID, CreateAccount = _shouldCreateAccount };//補足 既にアカウントが作成されており、CreateAccountがtrueになっていてもエラーにはならない
        PlayFabClientAPI.LoginWithCustomID(request, OnLoginSuccess, OnLoginFailure);
    }

    //ログイン成功
    private void OnLoginSuccess(LoginResult result)
    {
        //アカウントを作成しようとしたのに、IDが既に使われていて、出来なかった場合
        if (_shouldCreateAccount == true && result.NewlyCreated == false)
        {
            Debug.LogWarning("CustomId :" +_customID+ "は既に使われています。");
            Login();//ログインしなおし
            return;
        }

        //アカウント新規作成できたらIDを保存
        if (result.NewlyCreated == true)
        {
            SaveCustomID();
            Debug.Log("新規作成成功");
        }

        Debug.Log("ログイン成功!!");
    }

    //ログイン失敗
    private void OnLoginFailure(PlayFabError error)
    {
        Debug.LogError("PlayFabのログインに失敗\n" + error.GenerateErrorReport());
    }




    //=================================================================================
    //カスタムIDの取得
    //=================================================================================

    //IDを保存する時のKEY
    private static readonly string CUSTOM_ID_SAVE_KEY = "CUSTOM_ID_SAVE_KEY";

    //IDを取得
    private string LoadCustomID()
    {
        //IDをセーブデータから取得
        string id = PlayerPrefs.GetString(CUSTOM_ID_SAVE_KEY);

        //idの中身がnullもしくは空の文字列("")の場合は_shouldCreateAccountはtrueになる。
        _shouldCreateAccount = string.IsNullOrEmpty(id);

        //idの中身がない場合、文字列を新規作成
        if (_shouldCreateAccount==true)
        {
            return GenerateCustomID();//文字列を新規作成
        }
        else
        {
            return id;//セーブされた文字列を返す
        }
    }

    //IDの保存
    private void SaveCustomID()
    {
        PlayerPrefs.SetString(CUSTOM_ID_SAVE_KEY, _customID);
    }




    //=================================================================================
    //カスタムIDの生成
    //=================================================================================

    //IDを生成する
    //ユニークな文字列をGuidを使用し生成
    //https://docs.microsoft.com/ja-jp/dotnet/api/system.guid.tostring?redirectedfrom=MSDN&view=netframework-4.8#System_Guid_ToString_System_String_
    private string GenerateCustomID()
    {
        //Guidの構造体生成
        Guid guid = Guid.NewGuid();
               
        return guid.ToString("N");//書式指定子はNを指定 詳細は「Guid.ToString メソッド」のドキュメント参照
    }

}



処理の流れとしては、こちらになります。

1.初ログイン時にIDを生成(32桁のランダムな英数字)
2.既にそのIDが使われている場合は新たにIDを生成(使われていないIDを見つけるまで)
3.ログインが成功したらIDをPlayerPrefsに保存
4.2回目以降はPlayerPrefsに保存されたIDでログイン

詳細な内容はコメントを見ていただければ把握できると思います。

ログインに使用する文字列はPlayerPrefsで保存しているので、
Androidはアプリをアンインストールしてもデータを消さない限り大丈夫ですが、
iOSの方はアプリをアンインストールすると文字列のセーブデータが消えてしまいます。

その点を理解した上で実装をお願いします。

参考

kan-kikuchi.hatenablog.com

kan-kikuchi.hatenablog.com

【Unity】PlayFab テスト通信

はじめに

UnityでのPlayFab使用におけるUnity側での初期設定方法です。

前回までの記事でPlayFabを使う準備ができたら
試しにPlayFabと通信してログインができるか試してみます。

前回の記事1 marumaro7.hatenablog.com

前回の記事2 marumaro7.hatenablog.com

オブジェクト作成

スクリプトを入れるオブジェクトを作ります。
「空のゲームオブジェクト」を作成し、「PlayFabLogin」と名前をつけておきます。

UdemyTestScene_-_UdemyKakinTest_-_iOS_-_Unity_2020_3_18f1_Personal__Personal___Metal_.png

スクリプト作成

Assets直下にScripsフォルダを作成
→作成したフォルダ内でスクリプトを新規作成
スクリプトの名前を「PlayFabLogin」としてスクリプトを作成します。
(名前はなんでも良いのですが、テスト用のコードと同じにしておきます。)

PlayFabTest_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal_.png

コードは、PlayFabの公式ページにテスト用のコードがあるので、
こちらを少しわかりやすくしたものを使用します。
元コードはリンク先の「最初の API 呼び出しを実行する」の部分です。

docs.microsoft.com

ちなみに「API」とは、「Application Programming Interface」の頭文字です。
ひらたくいうと、PlayFabで用意している便利関数のことです。
PlayFabのAPIを呼び出して処理をしていきます。

下記のコードを、作成したスクリプトに貼り付けます。

using PlayFab;//追加
using PlayFab.ClientModels;//追加
using UnityEngine;

public class PlayFabLogin : MonoBehaviour
{
    public void Start()
    {
        //リクエスト生成
        var request = new LoginWithCustomIDRequest { CustomId = "GettingStartedGuide", CreateAccount = true };

        //ログイン処理実行
        PlayFabClientAPI.LoginWithCustomID(request, OnLoginSuccess, OnLoginFailure);
    }

    //ログイン成功時に呼び出される関数
    private void OnLoginSuccess(LoginResult result)
    {
        Debug.Log("ログイン成功!!");
    }

    //ログイン失敗時に呼び出される関数
    private void OnLoginFailure(PlayFabError error)
    {        
        Debug.LogError("ログインに失敗しました。");
        Debug.LogError(error.GenerateErrorReport());//エラー内容
    }
}

   

オブジェクトへ割り当て

ひとまず、コード内容はおいておいて、スクリプトをセーブし、
「PlayFabManager」に割り当てて、実行してみます。


実行後、無事ログインが成功しました! PlayFabTest_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal_.png

   

ここでPlayFab側のダッシュボードを見てみると、ユーザーの数が増えていることがわかります。
(変化がない場合は2分程度待ってください。)
※「金額」と書いてありますが、「数」の間違い(原文は「amount」)なので
  ユーザー数と思ってください。

ダッシュボード_·_PlayFab.png


ユーザーIDは
プレイヤー>検索
で確認することができます。

プレイヤー_·_PlayFab.png

ちなみに「前回のログイン」に表示される日時は
協定世界時 (UTC)となっているので、
表示されるのは日本時間から9時間引いたものとなります。

 

これでPlayFabと通信ができました!

次回

実運用上このままのコードでは問題があるので、
次回は問題点を考慮したログイン機能を実装していきます。

marumaro7.hatenablog.com

【Unity】PlayFab 初期設定 <Unity側>

はじめに

UnityでのPlayFab使用におけるUnity側での初期設定方法です。

前回の記事
marumaro7.hatenablog.com

Unityバージョン

Unity2020.3.18f1

エディター拡張機能をダウンロード

Unity側でPlayFabを扱えるようにしていきます。
下記サイトより「エディター拡張機能」をダウンロード

https://docs.microsoft.com/ja-jp/gaming/playfab/sdks/unity3d/

「クイック ダウンロード リンク: PlayFab SDK 用の Unity エディター拡張機能
 をクリックしてダウンロード
Unity3D__C___SDK_-_PlayFab___Microsoft_Docs.png

プロジェクトにエディター拡張をインポート

実装したいプロジェクトを開いて、先ほどのエディター拡張をインポートします。
すると、PlayFabのウインドウが現れます。

SampleScene_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal__と_ダンスドリーム_MV_改善案.png

PlayFab SDKインポート

今表示されているのは、アカウントを作る画面なので、
何も入力せずに「LOG IN」ボタンを押します。
SampleScene_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal_.png



ログイン画面が表示されるので、
PlayFabに登録したアドレスとパスワードを入力し、ログインします。 SampleScene_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal_.png


PlayFabのSDKがないよ〜と言われるのでインストールボタンを押します。 SampleScene_-_PushTest_-_PC__Mac___Linux_Standalone_-_Unity_2020_3_2f1_Personal__Personal___Metal_.png


数十秒待ってインストール完了画面が出たら終了です。

SDKセッティング

PlayFab側と通信できるように前もって作っておいたタイトルを指定します。
SETTINGSをクリック
1.STUDIO
2.TITLE ID
を選択

「【Unity】PlayFab_初期設定_<Unity側>」を編集_-_Qiita.png

以上でUnity側の初期設定は完了です。 簡単ですね!!

次回

次回はいよいよ通信を行います。

marumaro7.hatenablog.com




(備忘録)SDKエラー対応

SDKバージョン2.110ではバグがありますので修正が必要でした。
PlayFabEditorDataService.csの22行目を変更。

public bool CompressApiData = false;

情報元

https://community.playfab.com/questions/54002/30062021-playfab-edex-cannot-login-caught-an-error.html?redirectedFrom=54117

【Unity】PlayFab 初期設定 <PlayFab側>

はじめに

UnityでのPlayFabを使用におけるPlayFab側での初期設定方法です。

PlayFabアカウント登録

下記ページで「PlayFabを無料で試す」からアカウント登録

https://azure.microsoft.com/ja-jp/services/playfab/

PlayFab___Microsoft_Azure.png

メールアドレスやパスワードを入力
Notification_Center.png

アカウントを作成すると認証メールが届くので、認証してログインしてください。


PlayFab画面 日本語化

PlayFabの言語を日本語に設定します。(お好みです。)

→PlayFab画面の右上のアイコン
→マイプロフィール
→言語
→日本語を選択

自分のスタジオとタイトル_·_PlayFab.png

マイ_プロフィール_·_PlayFab.png



タイトルの作成

タイトルを作成します。
タイトルとは、アプリとPlayFabを紐づけるための箱のようなものです。
右側の「・・・」ボタンから新しいタイトルを選択します。

自分のスタジオとタイトル_·_PlayFab.png



タイトルの名前を決めます。
ジャンルやら色々項目がありますが、タイトルの名前以外は設定しなくても影響がないので、
名前だけ入れて「タイトルを作成」を押します。

タイトルの作成_·_PlayFab.png

作成すると自動的にタイトルの設定画面に遷移します。
まずはここまででPlayFab側の設定は完了です。
ダッシュボード_·_PlayFab.png

次回

次回はUnity側での設定を行います。

【Unity】PlayFab 初期設定 <Unity側> marumaro7.hatenablog.com

【AdMob】app-ads.txt ファイル設置方法 エックスサーバー

app-ads.txt

はじめに

app-ads.txt ファイル設定の備忘録です。
自分のアプリ紹介サイトに設置する方法になります。

環境は、エックスサーバーとワードプレスです。

注意!!
ネットでapp-ads.txtで検索するとads.txtの記事がたくさん出てきますが
app-ads.txtとads.txtは別物なので注意してください!
エックスサーバーではads.txtを簡単に設定するメニューがあるのですが。
そこにapp-ads.txtを登録しても、ads.txtとして登録されてしまうのでうまくいきません。

app-ads.txtとは

app-ads.txtについてはこちらで概要を掴みました。 magazine.fluct.jp

方法

基本的に公式の手順に沿って進めました。

support.google.com

1.サイトを開設

無料でできる方法もあるかもしれませんが、
広告のない自分のサイトがほしかったこともあり、
エックスサーバー(Xserver )と契約しました。
ワードプレスの知識は一切ありませんでしたが、
契約の際、ボタン一つでワードプレスと連携して
同時に申し込みできるのでとても楽でした。

その後のアプリ紹介サイトの作成の方で
ワードプレスの使い方から学ばないといけなかったので
それに一番時間を使っています。

こんなページを作りました。 maruapps.com

2.アプリストア掲載情報にサイトのURLを追加

公式ページのこの部分に沿って登録しました。

f:id:marumaro7:20210907042214p:plain:w400

3.設置する文字列をメモ帳などに仮置き

公式ページに沿って、設置する文字列を取得し、
メモ帳などにメモしていきます。
この情報はエックスサーバーでの設定で使用します。

3.1情報をコピー

公式に沿って進めていき、表示された文字をコピーします。
(6.コピーするコード スニペットの横にある コピー をクリックします。)の部分

f:id:marumaro7:20210907042528p:plain

f:id:marumaro7:20210906061816p:plain:w400


3.2コピーした情報をメモ帳等に貼り付け

コピーした文字を貼り付けます。
今回はmac標準のテキストエディットを使用しました。

f:id:marumaro7:20210911061047p:plain

f:id:marumaro7:20210907044208p:plain


3.3AdMobテスト広告用の情報を追記

app-ads.txtを設置するとテスト広告が出なくなるようなので、
下記のページの注意書きに沿ってこちらの情報も追記します。

(iOSのページを載せていますが、Androidのページでも同じことが書いてありました。)

developers.google.com

f:id:marumaro7:20210911062441p:plain


改行して追記します。
この文字列はあとから使うので、メモ帳は開いたままにしておきます。 f:id:marumaro7:20210911063405p:plain


4.エックスサーバーに 情報を登録

4.1エックスサーバーにログイン

エックスサーバーにログインします。

www.xserver.ne.jp

4.2 空のapp-ads.txtファイルを作成

ファイル管理を押します。 f:id:marumaro7:20210911064607p:plain


ご自身のドメインをダブルクリックして開いてください。

f:id:marumaro7:20210911065233p:plain:w400


さらに、「public_html」をダブルクリックします。 f:id:marumaro7:20210911072730p:plain:w350


ここにファイルを作成するので「新規ファイル」を押します。

f:id:marumaro7:20210911073004p:plain:w200


「新規ファイル」を押すとこのような画面になるので
ファイル名:app-ads.txt
ファイル名の文字コード:UTF-8
に設定してファイルを作成します。
f:id:marumaro7:20210911073728p:plain


これで空のapp-ads.txtファイルを作ることができました。 f:id:marumaro7:20210911074000p:plain



4.3app-ads.txtの中身を設定

app-ads.txtの中身はまだ空っぽなので、
app-ads.txtを選択し、「編集」を押して中身を設定していきます。 f:id:marumaro7:20210911074208p:plain:w400


編集を押してファイルを開いたら、
先ほど仮置きしたコードを貼り付け、
保存文字コードを「UTF-8」に設定し、更新を押します。 f:id:marumaro7:20210911074432p:plain:w400

4.4app-ads.txtファイルを確認

ご自分のドメインの後ろに/app-ads.txtを付けたURLを検索し、
設定したテキストが表示されるかを確認します。
例:http://●●.com/app-ads.txt

5.AdMobがサイトを見つけてくれるまで待つ

公式の通り、サイトを見つけてもらえるまで待ちます。

f:id:marumaro7:20210911081227p:plain

AdMobの
>app-ads.txt画面
>アプリ一覧 右側の上矢印
>アップデートを確認
を押してみるとすぐ検索してくれるかもしれません。

f:id:marumaro7:20210911080228p:plain

6.ステータス確認

app-ads.txt一覧の画面でアプリのステータスが有効になっていることを確認して終了です。

f:id:marumaro7:20210911080749p:plain

おわりに

わかれば簡単なんですが、 最初はapp-ads.txtとads.txtの情報の区別がつかず、 かなり回り道をしてしまいました。

あなたの時短になれば幸いです。

参考

eureka45.net

affimama.com