私が構築しているアプリの核心は、週に2回、特定の時間に週2回、私はこのために使用しているスウィフトコードの例)。ウェブサイトのコンテンツが変更されたときにプッシュ通知を送信する方法
私はバックグラウンドの実行に関するいくつかの研究を行ったが、限られているため(場所や時間などのために)使用できなくなると思う。 サーバーの使用は別のオプションです。私はこのアプリでお金を稼ぐつもりはないので、無料のオプションが必要です。それが私がFirebaseを探していた理由です。
私は今、Swiftを学んでいます。私が学んでいる最初のプログラミング言語です。
これを行う方法について誰も意見がありますか?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = URL(string: "https://store.nike.com/be/nl_nl/pd/air-vapormax-flyknit-hardloopschoen-heren/pid-11384993/pgid-12169774")!
let request = NSMutableURLRequest(url: url)
let task = URLSession.shared.dataTask(with: request as URLRequest) {
data, response, error in
var message = ""
if error != nil {
print(error)
} else {
if let unwrappedData = data {
let dataString = NSString(data: unwrappedData, encoding: String.Encoding.utf8.rawValue)
var stringSeperator = "exp-pdp-local-price js-pdpLocalPrice"
if let contentArray = dataString?.components(separatedBy: stringSeperator) {
if contentArray.count > 0 {
stringSeperator = "€"
let newContentArray = contentArray[1].components(separatedBy: stringSeperator)
if newContentArray.count > 0 {
message = newContentArray[0]
print(message)
}
}
}
}
}
if message == "" {
message = "The jackpot couldn't be found. Please try again."
}
DispatchQueue.main.sync(execute: {
//De text in het label van de weer app = message
//Gebruik 'self.' om naar de viewcontroller te verwijzen, want hier zit je in een closure en niet in de viewcontroller zelf.
})
}
task.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
これは間違いなくクライアント側の作業ではありません。他のWebサイトを頻繁にポーリングして、そのWebサイトの変更をすぐに受け取ることができないことを確認します。できるだけ早くサーバー側で実行する必要があります。 –
いただきありがとうございます!上記のSwiftコードで書いたことをサーバーにさせるためには、どのような言語が必要ですか?私はFirebaseのための新しい「クラウドファンクション」を探していました。 – Maxim
Cloud Functions for Firebaseからプッシュ通知を送信する方法については、[こちらの例](https://firebase.google.com/docs/functions/use-cases#notify_users_when_something_interesting_happens)を参照してください。次に、スケジュールに基づいてクラウド機能をトリガーする方法については、[このブログの投稿](https://firebase.googleblog.com/2017/03/how-to-schedule-cron-jobs-with-cloud.html)を参照してください。 [この動画](https://www.youtube.com/watch?v=CbE2PzvAMxA)をご覧ください。 –