アプリ開発日記 #199 画面構成を再変更

今日の作業

アプリを動かしていて、Android版がAdmobの規約に違反した画面表示になっていることに気付きました。
そのため、まずはAdmob広告の表示位置を画面の一番下に移動できないかを検討しました。

今回はXamarin.FormsのShellを使用しています。
そのため、画面の一番下に広告を表示するためにはShellのカスタムレンダラーを作成する必要がありそうでした。

ネットで調べたらとりあえず、カスタムレンダラーの実装方法はわかるのですが、時間がかかりそうだと感じました。

そのため、いったん広告を画面の一番下に表示することをあきらめて、金額の入力履歴画面の構成を変更することにしました。
結果として、すべての画面の表示切替を一番下のタブバーのみで行うことが可能となり、画面構成としては変更後のほうがよさそうな感じとなりました。

ただ、カスタムレンダラーは再挑戦したいので、時間があるときに、ミニマムコードとかで試してみたいなと思います。

概算家計簿について

概算家計簿は、残高を入力するだけで収支を管理することで、毎日の入力をしなくてもお金の管理ができる家計簿アプリです。
そのため、家計簿を毎日続けることができずに挫折してしまった人でも気軽に続けられます。

f:id:b-kimagure:20191231215325p:plain:w150
Google Play で手に入れよう

概算家計簿をリプレイスすることにした理由

概算家計簿アプリは比較的インプレッション数が多く、またちょくちょく使ってもらえているアプリになります。
そのため、今後さらにたくさんの人に使ってもらいたいと思うようになりました。

そして、たくさんの人に使ってもらうために、アプリを成長させていく必要があると感じていました。
そのため、Xamarin.Formsで画面も含めてロジックを共通化することで、iOSAndroidの両方の修正を同時に行えることを目的としています。

簡単に言うと、iOSAndroidの両方の画面を別々で作るのが面倒になったので、Xamarin.Formsでリプレイスすることにしました。

お金を貯めよう

ディズニーピクサー 「 トイ・ストーリー 」 ハム 貯金箱 SAN2526

ディズニーピクサー 「 トイ・ストーリー 」 ハム 貯金箱 SAN2526

  • 発売日: 2015/10/15
  • メディア: ホーム&キッチン
銭別銀行とりだし君 ブルー

銭別銀行とりだし君 ブルー

  • メディア: おもちゃ&ホビー
ドラえもんバンク

ドラえもんバンク

  • 発売日: 2017/12/02
  • メディア: おもちゃ&ホビー

アプリ開発日記 #198 概算家計簿のリプレイス

今日の作業

概算家計簿アプリをXamarin.NativeからXamarin.Formsへリプレイスしています。
現在は、モデル側はほぼリプレイスおよび、画面側のXamarin.Formsでの再作成がほぼほぼ完了したところです。

そして、今回行ったリプレイスでは、モデル側はそれほど時間をかけずに完了できました。
理由は、設計時にモデル側と画面側をちゃんと分離するように作っていたこと、そして言語が両方C#で同じであったためです。

そのため、もともと作成していたモデルをほぼそのままコピーして再利用できました。

概算家計簿について

概算家計簿は、残高を入力するだけで収支を管理することで、毎日の入力をしなくてもお金の管理ができる家計簿アプリです。
そのため、家計簿を毎日続けることができずに挫折してしまった人でも気軽に続けられます。

f:id:b-kimagure:20191231215325p:plain:w150
Google Play で手に入れよう

概算家計簿をリプレイスすることにした理由

概算家計簿アプリは比較的インプレッション数が多く、またちょくちょく使ってもらえているアプリになります。
そのため、今後さらにたくさんの人に使ってもらいたいと思うようになりました。

そして、たくさんの人に使ってもらうために、アプリを成長させていく必要があると感じていました。
そのため、Xamarin.Formsで画面も含めてロジックを共通化することで、iOSAndroidの両方の修正を同時に行えることを目的としています。

簡単に言うと、iOSAndroidの両方の画面を別々で作るのが面倒になったので、Xamarin.Formsでリプレイスすることにしました。

お金を貯めよう

ディズニーピクサー 「 トイ・ストーリー 」 ハム 貯金箱 SAN2526

ディズニーピクサー 「 トイ・ストーリー 」 ハム 貯金箱 SAN2526

  • 発売日: 2015/10/15
  • メディア: ホーム&キッチン
銭別銀行とりだし君 ブルー

銭別銀行とりだし君 ブルー

  • メディア: おもちゃ&ホビー
ドラえもん バンク

ドラえもん バンク

  • 発売日: 2017/12/02
  • メディア: おもちゃ&ホビー

アプリ開発日記 #197 今後の個人開発について考えてみた

今後の個人開発について

アプリのインストール数を増やし、たくさんの方にアプリを使っていただけるようにしていきたいと考えています。
そのため、今後は新しいアプリの開発をしばらく休止し、今までに作ってきたアプリの改善をしていこうと考えています。

具体的には、ストア掲載内容の見直しや、アプリのアイコン、画面デザインの見直し、そして、アプリの機能の追加を行っていく予定です。

なお、過去に作ったすべてのアプリを対処とした場合、1人ではやりきれなさそうなため、いくつかのアプリに絞って改善していく予定です。

改善していく予定のアプリ

  • 概算家計簿
  • がんばる!!その前に
  • Rizusuke
  • Todo Gacha

2月にやりたいこと

概算家計簿をXamarin.formsの環境にリプレイスを行い、少なくとも1回はリリースしたいと考えています。

そして、今月に1回リリースするために、とりあえず、今日概算家計簿に対してやりたいことを書き出してみたのですが、やりたいことがかなり山盛りな状態でした。
そのため、少しずつやりたいことを実装してアプリをより良いものにしていきたいなと考えています。

アプリ開発日記 #196 アプリがようやく、審査に出せる状態になった。

新しく作るアプリ

何をやろうか迷っているうちに、何もやらずに時間だけが過ぎていく人のためのTODOアプリ。

今日の作業

アプリの実装が完了しました。

かんたんな動作確認も行い、想定通りに動いていることが確認できました。
そして、Firebaseとの連携もうまくいきました。

今回は、IDFA対応や、欧州対応も行いました。
IDFA対応や、欧州対応はGoogleのファンディングチョイスを使用しています。

IDFA対応は、まずinfo.plistにファンディングチョイスのページに書いてある通りに以下の処理を追加しました。

<key>GADApplicationIdentifier</key>
<string>(AdMobのアプリIDを設定する)</string>
<key>NSUserTrackingUsageDescription</key>
<string>(IDFAの確認ダイアログに表示する文言を設定する)</string>

しかし、Xamarin.FormsでIDFAの対応を行う場合は、ファンディングチョイスのページに書いてある通りにinfo.plistを更新するだけではメッセージが表示できないようでした。
そのため、Xamarin.iOSプロジェクトにある「AppDelegate」ファイルに以下の処理を追加しました。

using AppTrackingTransparency;    // Usingを追加

    // --省略--

        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            // ATTrackingManager.RequestTrackingAuthorizationAsync()をFinishedLaunchingメソッドに追加
            _ = ATTrackingManager.RequestTrackingAuthorizationAsync();

           // --省略--
          }

そして、無事IDFAのメッセージも表示できるようになりました。

アイコンイメージ

f:id:b-kimagure:20210130215739p:plain:w200
アイコン

画面イメージ

f:id:b-kimagure:20210130215521p:plain:w200
ガチャを選択する画面
f:id:b-kimagure:20210130215605p:plain:w200
ガチャを登録する画面

明日以降の作業

考え中。。。

アプリ開発日記 #195 バグを直したり、iOS版の確認をしたり

新しく作るアプリ

何をやろうか迷っているうちに、何もやらずに時間だけが過ぎていく人のためのTODOアプリ。

今日の作業

アプリの実装を続けています。

今日はAndroid版のスプラッシュ画面の組み込みをしました。
そして、iOS版についても動作確認を開始しました。

iOS版の動作確認については、最初Firebaseとの連携処理でアプリが落ちてしまいましたので、いったんFirebaseとの連携処理をコメントアウトしました。
その結果、無事アプリを動かすことができました。

おそらく、Firebaseとの連携処理がうまくいかなかった原因は、GoogleService-Infoファイルをちゃんと用意していなかったからだと思います。
まだ実装中の状態でFirebase Analytics が動くのが嫌だったので、GoogleService-Infoファイルをちゃんと用意していませんでした。

そして、動かしていく中で、正しくカウントができない箇所がありましたので、修正を行いました。
今日修正した箇所は、以下の2か所です。

  1. ガチャの実行回数を毎回画面表示時のカウントを使用してカウントアップしていた
  2. 登録件数のチェックを追加前の件数で判定としていたため、1件多く登録できてしまった。

画面イメージ

f:id:b-kimagure:20210121231540p:plain:w200f:id:b-kimagure:20210121231552p:plain:w200
f:id:b-kimagure:20210121231602p:plain:w200
(画面イメージはアイコン画像差し替え前のものです)

明日以降の作業

アプリのアイコン画像、スプラッシュ画面等の作成

アプリ開発日記 #194 順調に進んでる

新しく作るアプリ

何をやろうか迷っているうちに、何もやらずに時間だけが過ぎていく人のためのTODOアプリ。

今日の作業

アプリの実装を続けています。

今日はライセンス画面の追加と、画面の色の調整を行いました。
そして、画面が下のような感じとなっており、かなり出来上がってきました。
f:id:b-kimagure:20210121231540p:plain:w200f:id:b-kimagure:20210121231552p:plain:w200
f:id:b-kimagure:20210121231602p:plain:w200
(アイコン画像は、未作成のためこれから差し替える予定です)

明日以降の作業

アプリのアイコン画像、スプラッシュ画面等の作成

アプリ開発日記 #193 アプリは大体できた

新しく作るアプリ

何をやろうか迷っているうちに、何もやらずに時間だけが過ぎていく人のためのTODOアプリ。

今日の作業

アプリの実装を続けています。

現在は、画面の実装も大体完了し、一通り動くものができてきた状態です。
ちゃんとテストしていないため、どこかにバグが潜んでいるかもしれませんが、やりたいことはできるようになっています。

そして、今日はAdMobとFirebase Analysitcsをアプリに組み込むための処理を実装しました。
あまり何度もやる機能でないため、なかなか書き方が分からず、いつも過去に作ったアプリを参考にしながら組み込んでいます。

このあたりの実装が終わったら、後はライセンス画面と、アイコン画像、スプラッシュ画面を作成し、テストを行って完了となります。

明日以降の作業

アプリのライセンス画面、スプラッシュ画面等の作成