UnityでiOS, Android両対応のプッシュ通知テストアプリの開発をお願いします。 プッシュ通知にはMicrosoftAzureNotificationHubsを使用して下さい。 成果物はiOS用でTestFlight版、Android用ではクローズドテスト版で作成お願いします(正式リリースの必要はありません)。 それで、こちらでチェックして大丈夫そうであれば納品完了として下さい。 あと重要な事もう一つですが、ソースコードの納品もお願いします。 何故このような依頼をしているかというと、開発をその後私自身が引き継ぎたいからです。 ですが私にはAzureNotificationHubsを使ったPush通知構築の知見が無いため、それの実装が済んだ最低限機能のテストアプリの開発をお願いしたいと考えています。何故AzureNotificationHubsなのかというと、プッシュ通知送信対象のデバイスが数千台、数万台と増えていっても一括配信時の遅延が最も抑えられるツールではないかと色々調べた結果判断したからです。 UIはかなりシンプルなものでよいです。 A,B,Cのチェックボックスを3つ用意して下さい。 その下に「登録」ボタンを設置して下さい。その下に「取消」ボタンを設置して下さい。 UIはこれだけでよいです。特に細かいビジュアルなど気にしません。 例えば「A」にチェックを付けて「登録」を押した場合、AzureNotificationHubsのSDKを使って、通知ハブにデバイス情報及びタグ情報の登録処理を実装して下さい。 ※上記の例ではタグを「A」で登録して下さい。 ※同様に、Bにチェックを付けたらタグ「B」、Cにチェックを付けたらタグ「C」で登録して下さい。 ※複数タグ登録(AとBなど)も出来る仕様にして下さい。 Microsoftの公式ドキュメントではここら辺が参考になるかと思います↓ https://learn.microsoft.com/ja-jp/azure/notification-hubs/notification-hubs-push-notification-registration-management https://learn.microsoft.com/ja-jp/azure/notification-hubs/notification-hubs-tags-segment-push-message それで、実際にプッシュ通知を送る処理はTimeTriggerで定期実行されるAzureFunctionsで仕込んでください。 AzureFunctions側での実装もフロントエンド側と同じようにAzureNotificationHubsのSDKを使って下さい。 ※SDKの言語は問いませんが、.NET版かPython版だとありがたいです。※もしAzureNotificationHubsのSDKの利用が技術的に難しいとなった場合はAzureNotificationHubsのRESTAPIを用いて実装されても結構です。 それで、タグAが登録されたデバイスには1分に1回プッシュ通知を送ってください(メッセージは’A'だけでいいです)。 タグBが登録されたデバイスには2分に1回プッシュ通知を送ってください (メッセージは’B'だけで可)。 タグCが登録されたデバイスには3分に1回プッシュ通知を送ってください (メッセージは’C'だけで可)。 それぞれ、タグA,タグB,タグCでプッシュ通知時の効果音を分けて下さい(効果音の指定は無いので何でもよいです)。タグは複数同時登録に対応したいので、例えばAとBを登録したデバイスには2分周期でAとBの通知が一緒に来るイメージです。 つまり、AzureFunctionsのTimeTriggerは常に回っていて、デバイス登録が0台であればひたすら空振りをし続けていて、デバイス登録がされると、その登録されたデバイスのタグに応じたタイミングと通知音でプッシュ通知を送る、という事です。 ※補足ですが、ユーザーが登録ボタンを押すタイミングに関わらず、Aのタグを付けて登録を押したら、例えば9時からの時間で説明すると、9:00, 9:01, 9:02, 9:03, 9:04...に通知を送るイメージです。Bのタグであれば 9:00, 9:02, 9:04 ... という事です。なので8時59分35秒とかに登録押しても、9時に通知が送信されるという事です。ですがネットワークの遅延等でデバイス&タグ登録処理が9時過ぎにずれ込んだ場合は9時1分から通知が送られればよいです。 UIの一番下の「取消」ボタンを押すと、チェックが付いたタグ情報の取消を通知ハブに送信して下さい。全部のタグが取り消された場合はそのデバイスにはプッシュ通知はもう送られないようにして下さい。 要件は以上です。 開発段階では、開発者自身のAzureアカウントの情報(プッシュ通知に必要な接続文字列、トークン情報など)を用意して開発をお願いします。※Azureは毎月の無料枠が豊富なので、開発目的で色々使う分には無料アカウントでも無料枠は超えないはずです。 それで、ソースコードを納品される際は、開発者のAzureの接続情報等をローカルコードに埋め込みされている場合は、そこの部分だけ任意の文字列に変えていただいてから納品いただければ大丈夫です。※例えば、トークンキーの部分は「"MY_TOKEN"」にしてもらうなど それで、納品後は私の方でソースコードの該当部分を私のAzureアカウントの接続情報やトークン情報に変えて、そのアプリの改修をこちらで引き継ぎます。 何かご質問等ありましたら問い合わせください。 ※フロントエンドはクロスプラットフォームで作成できるものであればUnityでなくても何でもよいです。ただ、私がUnityを一番使い慣れているのでUnityであればありがたいです。一応下記に希望優先順位を載せておきます。1.Unity2.Flutter3.React Native4.ionic ※予算があまりないので5万~10万としました。予算が少ないご提案の方がありがたいですが、これより上であれば受けられるといった場合もご提案お待ちしております。最終予算は検討して決めます。 以上、よろしくお願いいたします。