VK APIでのIframeアプリケーションの開発。 最初の衝突から200万人の視聴者まで

画像

画像

画像 こんにちは、この投稿では、有名なソーシャルネットワークでiframeアプリケーションを作成した方法について説明します。 投稿は有益なものよりも物語的なものになりますが、初期段階で私を困惑させる多くの質問に答えようとします。



比較的最近、Contact APIに出会いました。 それからそれはひどく複雑で曖昧に見え、最小限の説明と使用例の完全な欠如がありました。 これで、javaScriptの知識が身に付いたので、私はまったく問題ありません。 それどころか、開発者が多くの点で私のために考えてくれたのは素晴らしいことです。



javascript Vkontakte APIの操作は、とんでもないことです。 xd_connection.jsファイルを接続し、VK APIを初期化し、1秒間に3回までリクエストを行うだけです。 また、VKが要求なしでflashVarsオブジェクトの形式で多くの必要なパラメーターをIframeに渡すことも注目に値します。 これから、ユーザーID、トークンを引き出すことができます。これにより、サードパーティサーバー、インターフェース言語、およびその他のニーズでのユーザー認証が簡単になります



最初に行った



画像



最初のアプリケーションでは、私は頭が良くないことを決め、心理テストを行って、その後の結果をユーザーに壁に掲示しました。 おそらく多くの人がfuと言って読み続けることはないでしょう。 私自身は精神分析と占星術のすべてのこのシャーマニズムのファンではないことを認めなければなりませんが、後で判明したように、そのようなアプリケーションはすぐに視聴者を獲得しています。 しかし、テストの海があり、ユーザーを魅了し、壁で結果を共有するよう奨励する何かを思いつくことが必要でした。 そして、心理的な給与テストをすることにしました。 いくつかの簡単な質問に答える必要があります。その後、アプリケーションは結果を記録して壁に置くことを提案します。 「 あなたはどんな給料に値しますか? 」と呼ばれます 。 現在、彼は1'700'000のインストールを行っています。



作成するのに3日かかりました。 そして、すべての時間の90%がウォールポストを機能させるために費やされました。 選択した回答に基づいた簡単なアルゴリズムが結果を計算し、サーバーにリクエストを送信し、希望の給料で写真( このクラスを使用して写真にテキストオーバーレイを使用)を生成し、VKをアップロードしました。
重要:アクセスする必要がある個人情報をアプリケーション設定で選択することを忘れないでください。 言い換えると、apiを介して要求するもの、そうでない場合、VKontakteはこの情報を提供しません。 画像
投稿は次のようになります。



画像



私はアプリケーションにひねりを加えることにし、最後に「心理的な」給料のためにいくらと何を買うことができるかを計算しました



画像



節度



設定でアプリケーションを作成して有効にすると、任意のユーザーが直接リンクして起動できます。 検索とカタログに入るには、モデレートする必要があります。 これを行うには、10票(国内通貨VK)を保証として残して待機します。 多くの場合、最初のモデレートで、テクニカルサポートからの応答は次のようになります。



画像



注意:モデレーターがこの回答で気に入らなかった点明確にすることはうまくいきません。 彼らはそのような証明書を与えないことを丁寧に教えてくれます
まれに、テクニカルサポートがアプリケーションを拒否し、修正が必要なものをすぐに通知し、スクリーンショットを送信します。 おそらく、彼らはアプリケーションをチェックするための何らかの種類のチェックリストを持っています。 私の状況は、「アプリケーションについて」ボタンを追加することで保存されました。このボタンにはセマンティックの負荷はまったくありませんが、表示後、アプリケーションは最終的に承認されました。 ちなみに、デポジットは常に返却されました。



重要:アプリケーションを正しく動作させるには、SSL証明書なしではできません。 そうしないと、アプリケーションはhttps経由で開かず、ユーザーの半分が失われます。 自己署名証明書は解決策ではありません




離陸



問題は小さなものに任されています。 グループに参加している友人がいくつかの広告投稿を行い、ここでアプリケーションが夢中になりました:



画像



1週間、出席者数は1日12万5000人に急増しました。 率直に言って、私はそのような負荷を期待していなかったので、より強力なサーバーを借りる必要さえありました。 そのような成功に勇気づけられて、完成したプラットフォームでさらにいくつかのテストを行いました。 これまでに1,300,000、300,000、1億のインストールを記録しています。 それらについて話す理由はありませんが、似ています。



私が踏んだ最初の熊手はphpログファイルで、 800GBにまで成長しました 。 これは、ユーザーがテストに合格するたびに記録されるいくつかの通知レベルのエラーが原因で発生しました。



興味深いことに、最初の1か月はテストが年長の視聴者(25歳以上)に人気がありましたが、1か月後、学生が主導権を握りました。



好奇心のために、「明日、ドルは値上がりすると思いますか?」という質問を追加し、人口の気分に応じて為替レートを予測するための統計をまとめ始めました。 しかし、それは決して実現しなかったため、誰かが興味を持っている場合は、分析用のデータベースを提供できます。




コースを変更します



テストのバイラル性にもかかわらず、大きな欠点が1つあります。それは、観客へのわずかな利益です。 ユニットは、2回目に、このようなアプリケーションに入ります。 だから私はゲームを作ることにしました。 もっと正確に言えば、私はゲーム2048 Gabriele Cirulliを基礎として取りましたが、それについてはまだ誰も知りませんでした。 ゲームがオープンソースであるという事実にもかかわらず、私はまだ著者に許可を求めました。



画像



肯定的な回答を受け取ったので、仕事に取り掛かりました。 数日後、「 Stacker 2048 」というゲームがモデレートされました。



画像



突然、2番目の熊手が現れました。 翌朝、アプリケーションは単純なXSS攻撃でハッキングされました。 当時は、ユーザーデータが信頼できないことを知りませんでした。 その男子生徒は「トップ100」のリストで自分の名前の代わりにスクリプトを置き換えました。その結果、わいせつな警告がプレイヤーに何もすることを許可しませんでした。 穴をふさぐ過程で、私は多くの種類のトリックを知りました。彼らは、犯した後、私がゲームを盗んだのは自分であると個人的な手紙に書いた若い強盗ハッカーがそれを可能にしました。 現れた穴を塞ぎました。 SQLインジェクションとCSRFの脆弱性の両方がありました。 データベース全体が破壊された。 誰かがサーバーを生成された画像に入れようとして、ランダムな行をファイルジェネレーターへの入力に毎秒10回送りました。 今、コーンを埋めた後、各ユーザーのトークンとセッションを使用し、すべてのデータをPOSTリクエストで転送し、サーバーでチェックされるすべての送信データからハッシュをアタッチします。 それ以来、幸いなことにひどいことは何も起きていません。



レーキ番号3は生成された画像です。 2048の場合、多くのユーザーが獲得したポイントの数が一致し、毎回再生成するよりも結果のある写真を保存する方が簡単な場合、テストでは結果が常に異なり、多くの写真が蓄積されます。 したがって、Cronスケジューラを使用して、10分ごとにイメージフォルダーをクリーニングする必要があります。



現時点では、18万人がStackerをプレイしており、ユーザーのリターンは非常に高くなっています。



Vkontakteゲームに特別な開始トラフィックが提供されます。新しいカテゴリのアプリケーションを最上部に追加します。 1000票に相当します。1か月半並んでアプリ内でアプリ内購入を行う必要があります




画像



収益化



出席者が上り坂になるとすぐに、アプリケーションの収益化について真剣に考えました。 Vkontakteと直接連携するアフィリエイトプログラムはそれほど多くないため、特に選択はありませんでした。 プリローダーに落ち着きました。ユーザーがターゲットオーディエンスに該当する場合、アプリケーションに入るたびに短いコマーシャルが表示されます。 これは全視聴者の約60%です。 また、連絡先が表示するスタイルの広告。 現在出席している場合、4つのアプリケーションからの収入は1日あたり平均2000rです。 出席を追跡するために、HTMLキャンバスを使用してユーザーアクティビティのグラフを表示する別のページを作成しました。



あとがき



私個人にとって、このような独立した収入は突破口であり、大きなインセンティブでした。 アプリケーションを実行するほど、アイデアが増えます。 近い将来、もっと深刻なものの開発を開始する予定です。 この投稿が参考になり、興味深いものになったことを願っています。



All Articles