現在、iPhoneでオリジナルのクーポンを表示するアプリを作ろうと考えています。
簡易的なもので構いませんが、アプリ起動時に自動的に最新情報(こちらが設定したクーポン)を受け取る仕組みを作るにはどうすれば良いですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
質問者様のスキルレベルなどがわからないため、もし私が実装する場合として回答させていただきます。
また、実現方法としては複数あり、要件などによっても変わってくるものと思います。
HTTP通信によってサーバ側から情報を取得することで、実現できるものと思われます。
アプリ起動時
これについては具体的にどのようにしたいかわかりませんが、最初に表示するViewControllerで
HTTP通信する処理を書けば良いと思います。(起動時と言う意味だとdidFinishLaunchingWithOptions
かもしれません)
最新情報(こちらが設定したクーポン)
については、クーポンとして必要な情報をDBなりテキスト情報なりをサーバで扱えるようにして、特定のURLを叩くとその内容が受け取れるようなものを実装します。
サーバ側の言語はPHPでもRubyでもJavaでもPythonでもお好きなものを。
上記、非常にざっくりとした内容なりますので、個別に具体的な実装方法が知りたければ
具体的な部分を質問としてあげていただければと思います。
(質問内容がざっくりしていると、回答内容もざっくりとしたものになりやすいです。)
=========回答追記==========
例えば、PHPが使えるサーバ環境を用意して、以下のようにすると"HelloWorld"が取得できます。
php
1<?php 2 return "HelloWorld" 3?>
Swift
1let listUrl = "http://127.0.0.1/helloworld.php" 2 3guard let url = URL(string: listUrl) else { return } 4 5URLSession.shared.dataTask(with: url) { (data, response, error) in 6 if error != nil { 7 print(error!.localizedDescription) 8 } 9 10 guard let data = data else { return } 11 12 let str: String? = String(data: data, encoding: .utf8) 13 print(str!) 14 15 }.resume() 16}
参考:[Swift4] HTTP通信 / WebAPIからデータを取得し利用する
実際APIを作る際にはもう少しきちんと書く必要があると思いますがそちらはまた別のお話と言うことで。
また、mBaasなどを使っても実装ができると思います。
FirestoreやFirebaseRDBなどでDBに値を入れてアプリ側から値を取得できるよう実装を行うと良いでしょう。
Firestoreを試してみた
iOSでfirebase realtime database を使ってみる
何が手軽なのか、については知識や感覚によって違うものと思われますので
色々と試してみてどのように実装するか検討されると良いと思います。
投稿2018/09/28 08:12
編集2018/10/01 03:08総合スコア1313
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/28 14:34
2018/10/02 01:34
0
Firebase In-App Messaging サービスを使えば実現できると思いますよ。
投稿2018/09/27 22:48
総合スコア167
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。