そういうのがいいブログ

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

アプリ開発覚え書き

【Unity】アプリ名ローカライズ Android編

アプリ名ローカライズについて調べたのでメモ

1.フォルダ作成

1-1 resフォルダ作成

Project→Assets→Plugin→Android→resを作成 f:id:marumaro7:20200728060038p:plain

※画像のGoogleMobileAds〜フォルダは
admobを入れていると勝手に作成されるファイルです。

1-2 各言語フォルダ作成

resの直下に「values-言語コード」のフォルダを作成する。

例:日本語の場合 values-ja

f:id:marumaro7:20200728061804p:plain

言語コードは↓を参照

www.loc.gov

2.テキストファイル作成

2-1テキストエディットを起動(Mac)

f:id:marumaro7:20200728060356p:plain

2-2ファイル保存

ファイル内は何も入力せずに string という名前で保存

2-3xmlファイルへ変更

名前の後に .xml を付け足す。

注意ウインドウが出るので 「xmlを使用」を押す f:id:marumaro7:20200728060920p:plain

2-4テキスト内容変更

ファイルを開くとテキストが勝手に追加されているので削除 f:id:marumaro7:20200728063452p:plain

下記の内容を入力

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">ローカライズしたアプリ名</string>
</resources>

3 Unityへ取り込み

string.xmlファイルを各フォルダへ割当てる f:id:marumaro7:20200728063736p:plain

ビルド後、言語変更して確認

おわりに

メモ見ながらやれば簡単ですね!

iOS編はこちら

marumaro7.hatenablog.com



最後に宣伝させてください。
アプリ開発を始めて丸2年が経ち、
節目としてなにか形にしたいと思い、Udemy講座を出しました!
www.udemy.com

割引リンクは私のプロフィールページにあります。
アプリ開発収益化を時短したい方向けの講座となっております。

【Unity】OS別レビューボタン実装 (アプリページリンクボタン) 

レビューボタンというか

アプリページへのリンクボタンのメモ

Application.OpenURL(アドレス);

で対象のWEBページが開きます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Review_sc : MonoBehaviour
{
    public void PushReviewButton()
    {

   #if UNITY_ANDROID
            string url = "Androidの自分のアプリページアドレス";
            Application.OpenURL(url);

   #elif UNITY_IOS
            string url = "iOSの自分のアプリページアドレス";
            Application.OpenURL(url);

   #else
          //UnityでもAndroidでもiOSでもない何かのプラットフォーム

   #endif
     
        
    }
}


おわりに

iOS 国別でアドレスを設定する場合はこちら

marumaro7.hatenablog.com

【Unity】ローカライズ 日本語と日本語以外で判別 多言語対応

アプリのローカライズに向けてメモ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEngine.UI;

public class LocalizationTest : MonoBehaviour
{

    [SerializeField] private Text Test_text;

    void Start()
    {
     //Application.systemLanguageでOSの言語判別 
     //返り値はSystemLanguage.言語

     //言語が日本語の時
     if (Application.systemLanguage == SystemLanguage.Japanese)
     {
      Test_text.text = "猫";  
     }

     //言語が日本語以外の時
     else
     {
       Test_text.text = "Cat";   
     }
}

言語コード

docs.unity3d.com

アプリが削除されました 原因と対策

f:id:marumaro7:20200704062043p:plain

アプリ説明欄に余計なことは書くな!

今回言いたいのはそんな話です。

アプリ削除は突然に

グーグルさんから突然こんなメールが。。。 f:id:marumaro7:20200704063059p:plain

え!?!?

削除・・・

事前警告無しですか?

ばっさりいかれました。。。

削除されたアプリ play.google.com

このアプリは一番最初に作ったアプリで
Unityでは無く、Android Studioで作ったアプリになります。
今更いわれても修正どうしよって感じでした。

原因を考えてみる

「アプリに関する問題」のところを見ると

どうやらアプリ説明欄が不正だということみたいでした。

なんか変なこと書いてたっけ〜?と考えてみたところ、、、

思い当たるフシが...

それは...



アプリ説明欄で他のアプリの宣伝していました。



すいません!私が全部悪いです!

思えば書いてました書いてました!

↓こちら削除されたストア説明文

進化した視力回復アプリ「3分視力回復 「スマホ老眼対策」「近視対策」「遠視対策」」 もよろしくお願い致します。 ※「Maruyu Apps」で検索いただくと表示されます。

2つの丸が3つに見えるように目の焦点を調整し続けるだけで視力が回復するアプリです。

2つの丸は徐々に離れていきます。

◆設定 丸の初期位置、時間はお好みで設定できます。

◆オススメトレーニング回数  3分×2セット



完全にやっちゃってます。。。

宣伝をいれた経緯としては、

1.Unityでも↓視力回復アプリを作る play.google.com

2.最初の視力回復アプリより、すごく機能も増やしているし、使いやすくしたから
 最初のアプリよりはダウンロードされるはず!

3.最初のアプリより全然インストールされない

4.よし!最初のアプリを見に来てくださった方にこのアプリをアピールしよう!

という感じです。

アップデート審査は1時間程で終了したので問題無いと思ってました。

対策

グーグルさんから提示された内容 f:id:marumaro7:20200704072935p:plain メタデータに関するポリシーをよく読んで、
ストア文から宣伝の文言を削除!

→審査後、無事ストアに再表示されました!

今回学んだこと

Androidアプリでは、審査が通ったとしても、ポリシーに準拠していないと突然削除される。
・アプリ説明欄にアプリ内容と無関係なことは書いてはいけない。

しかし、ストア文変更後、半年後にくるとは、、、

Unityアセットストア 購入方法

f:id:marumaro7:20200626052154p:plain

アセットストアセールだったので購入!

私ごとですが、この度、初めて有料アセットを買ってしまいました!
15アセット総額466.91ドルが29.99ドル(93%OFF)と言われたら買ってしまうやろ。。。。
税込み約3500円でこれだけのアセット買えるなら絶対お得のはず!
3Dモデルがずっと欲しかったので良いタイミングでした。

f:id:marumaro7:20200626052657p:plain

Fantastic Fantasy Mega Bundle - Asset Store

いざ買おうと思っても、情報入力画面の設定がよくわからなかったので備忘録に残します。

購入手順

1.ほしいアセットをカートに入れる

Unity Assset Storeでアセットをカートに入れる。>カート画面でチェックアウトボタン押す。

2.個人情報入力

f:id:marumaro7:20200626063313p:plain

奈良市青山の場合

住所は適当でも良い気がしますけど、一応 本当の住所いれました。

3.クレジットカード情報入力

使用可能なクレジットカードは以下のものです。 f:id:marumaro7:20200626063621p:plain

f:id:marumaro7:20200626063913p:plain

4.確認事項チェック

f:id:marumaro7:20200626064115p:plain

チェック後、「Pay now」を押して完了です。

時短になれば幸いです。

First nameって名前だっけ?名字だっけ?
Postal codeってなに?
とかいろいろ調べてたら時間とられちゃったので まとめました。

(こんなとこでつまづくの私だけ?笑)

この記事で貴重な開発時間を少しでも節約できたなら嬉しいです。

デバッグ用に中古iphone8購入! 注意したこと

f:id:marumaro7:20200626040045p:plain

デバッグ用に中古iphone8購入しました!!

注意したこと
・パソコンと接続して認識される
・タッチパネルに反応しない場所が無いこと
・外カメラ、内カメラが通常使用可能であること(AR、VR用)
Wifiが使用可能であること

他に買ったもの
・アクティベート用Sim

iphone5cが使えない

iMac家に届いてから1週間。

よしデバッグするかー!

と昔使っていたiphone5cを引っ張り出してきて

アクティベート用Sim購入→アップデート
(「Simなし」の状態ではiOSのアップデートできないみたいです。)
そして、いざデバッグ

動かない!!

ですよねー。古すぎで嫌な予感はしていました。
metalってやつが無いってXcodeさんに怒られました。

購入するiphone機種選定

今後ARゲームも作ってみたいなーと考えてたのでARKitが使えることが最重要項目でした。
ARKithはiphone6sからサポートしているようなのでiphone6s以降で選定

iphone6s購入でも良いかなと思ったのですが、
新iphoneSEが発売されてiphone8の価格が急落したので、
コスパが一番良さげなiphone8を選定しました。

中古販売サイトに1週間張り付く

売れないアプリ開発者なので、
できるだけコストは抑えたい。
ということで、
中古販売サイトに1週間張り付きました。笑

探した用件はこちら
・画面割れは妥協
・パソコンと接続して認識される
・タッチパネルに反応しない場所が無いこと
・外カメラ、内カメラが通常使用可能であること(AR、VR用)
Wifiが使用可能であること
・予算感13000円

14,350円で購入!!

ずっと張り付いていた結果、
探している時間がもったいなくなり、
予算からちょっとはみでましたが、14,350円で購入

画面はそこそこ割れています。。。
ずっと圏外の端末です。(Wifiしか使わないから逆に安くなってくれてありがとう)
デバッグだけにしか使わないからOK!!!
f:id:marumaro7:20200626043454p:plain:w200

iOSアプリ環境構築完了!

思わぬ出費でしたが、
これでめでたくアプリ開発環境が整いました。
ぱちぱち!!

【Unity】AdMobさんに怒られた話

f:id:marumaro7:20200625011246p:plain

広告は一本道にするな!!!

これが今回のできごとから学んだすべてです。


AdMobさんに怒られた

私、アプリの広告はAdMobさん一択で運用しています。

そしてある日、収益確認しにページに訪れました。

すると、、、

f:id:marumaro7:20200625011829p:plain

ぎゃー!!!なんか指摘されてる!!!

内容はこれでした↓

f:id:marumaro7:20200625011924p:plain

簡単にいうと、リワード広告を強制的に見せるの辞めなさいってことでした。

たしかに、今回対象のアプリ「JobCheck」は設問を終えるとボタンが1個だけで
これを押すと広告が出るようになっています。

f:id:marumaro7:20200625013021p:plain:w200:left
















え??インタースティシャル広告は使ってますけど、リワード広告使ってないんですが、、、、

リワード広告って動画見るのと引き換えにアイテムとかもらえるやつでしょ??

誤解ですかー?

試しに言い訳してみる

f:id:marumaro7:20200625013802p:plain:w400

結果、、、却下( ^ω^ )

仕方ないのでアプデ

・ボタンデザインすんのめんどくさいな〜
・リワード広告的なテキストにしてるからだめなんかな〜?
ということで広告に関するテキストを消してアプデしました。
そして、審査をリクエスト!!



またも却下(>_<)

ちゃんとアプデします!

指摘された通りに選択肢を追加するためボタンを設置しました。

f:id:marumaro7:20200625014715j:plain:w200
でも、診断直前でやめるボタンを提示って不自然じゃない?
ラソンをゴール直前まで走ってきた人に
「リタイヤする?」って聞いている感覚なんですが。。。

一瞬とはいえ画面いっぱいに広告突然でてくるからイラッとされそう。

無事に審査通過!

めでたく?この内容で審査通りました!!
よかったよかった。

今回の件で学んだこと

インタースティシャル広告でも強制的に表示するようになっているとまずいみたいですね。
シンプルなアプリを作るときに起こりそうなので、これから気をつけます。