ホームページ バックエンド開発 PHPチュートリアル AndroidクライアントとPHPサーバー間の通信(4) - Auroraプッシュサンプルプロジェクトの解析

AndroidクライアントとPHPサーバー間の通信(4) - Auroraプッシュサンプルプロジェクトの解析

Jun 23, 2016 pm 01:35 PM

概要

前のセクションでは、Aurora Push の登録方法とそのサンプルの使用方法について説明しました。このセクションでは、サンプル プロジェクトのフレームワークを学習し、移植の準備をします。

ルーチンのソース コードを分析する

まず、ルーチンのソース コード構造を JPUSH の公式ドキュメント (http://docs.jpush.io/) と照らし合わせて分析することをお勧めします。それは私がやったことです。

アプリケーションの登録後、ダウンロードされたサンプル プロジェクトの構造は次のとおりです。



ExampleApplication.java: このクラスは、アプリケーションの Application クラスをカスタマイズします。これは、JPush SDK を呼び出すときに init( ) JPush API が提供する関数であり、公式ドキュメントによると、「init はアプリケーションの起動時に 1 回だけ API を呼び出す必要があります。」そのため、MainActivity で init() を呼び出すと、これも発生する可能性があります。多くの init() 呼び出し。もちろん、定義された ExampleApplication クラスは AndoridManifest.xml で設定する必要があります。

ExampleUtil.java: 名前が示すように、「Util」は、IME コードの取得、APPKEY の取得など、いくつかのグローバル メソッドまたは属性をこのクラスで定義します。

MainActivity.java: これは誰もが知っている、アプリケーションのメイン インターフェイスです。

MyReceiver.java: これは、BroadcastReceiver を継承し、カスタム レシーバー継承クラスです。このクラスが定義されていない場合、ユーザーはプッシュ通知をクリックした後、デフォルトでメイン インターフェイスにジャンプし、カスタム メッセージを受信しません。以下に示すように、このクラスも AndoridManifest.xml で構成する必要があります。



PushSetActivity.java: このクラスは主に、タグやエイリアスの設定、通知バーのスタイルのカスタマイズなど、JPush の「高度なオプション」を設定します。

SettingActivity.java: このクラスは JPush のセットアップも行い、主にプッシュ受信時間を設定します。

TestActivity.java: このクラスはアクティビティを継承し、主にユーザーが受信したプッシュ メッセージを表示するために使用され、ユーザーが通知バーでプッシュ メッセージをクリックすると、このアクティビティにジャンプします。


AndoridManifest.xml を再度分析しましょう。下の図は内容の完全なスクリーンショットです


行 2: Android 名前空間を指定します

行 3: 標準のアプリケーション パッケージ名を指定します (これはデフォルトでもあります)。アプリケーションの名前。ここでのパッケージ名は、src フォルダー内の com.example.jpushdemo パッケージと比較すると混同される可能性があります。実際、Android 開発を専門とする人は、1 つの src に複数のカスタム パッケージを含めることができることを知っています。この com.example.jpush パッケージには、JPush の呼び出し操作のみが含まれています。将来 JPush に慣れてきたら、完全にカスタマイズできます。 JPush の操作は抽出され、カスタム パッケージにカプセル化されます。

行 4: デバイス アプリケーションのバージョン識別コード。アプリを変更するときにカスタマイズできる回数を表す整数値である必要があります。

5 行目: ユーザーがバージョンを表示するには、ある程度の可読性が必要です。

7 行目: 最小バージョン、最大バージョン、ターゲット バージョンなど、アプリケーションで使用する必要がある SDK バージョンを指定します。

行 8 ~ 10: ユーザー権限をカスタマイズします。 android:name="com.lygk.lovelife.permission.JPUSH_MESSAGE" に注意してください。JPush オペレーションのパッケージ名が com.test.jpushdemo の場合、ここでは android:name="com.test.jpushdemo.JPUSH_MESSAGE" になります。実際、これは単なる名前です。このアクセス許可を参照する他の場所で使用されている名前が、このカスタム アクセス許可と一致していることを確認してください。

行 13 ~ 33: アプリケーションに必要な権限のステートメント。これは公式ドキュメントに記載されています。

行 34 ~ 139: アプリケーションの構成ルート要素。アプリケーションに関連するすべての構成要素が含まれます。

35 行目: アプリケーション アイコン

36 行目: アプリケーション名

37 行目: これは自分で定義した Applicationin クラスの名前です。つまり、アプリケーションは com.example.jpushdemo パッケージの下で ExampleApplication を開始します。

行 40 ~ 47: MainActivity.java に対応する、Activity アクティビティ コンポーネント (つまり、インターフェイス コントローラー コンポーネント) の宣言。 Android アプリケーションのすべてのアクティビティは AndoridManifest.xml 構成ファイルで宣言する必要があることに注意してください。宣言しないと、システムはアクティビティを認識または実行できません。

49 行目: PushSetActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

51 行目: SettingActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

53 ~ 58 行目: TestActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

Lines 62-71 : JPush SDK パッケージで定義されている PushActivity.java に対応するアクティビティ アクティビティ コンポーネント宣言。これは、電話機がプッシュ メッセージを受信したときに通知バーに表示されるアクティビティであると完全に疑っています。

行 73 ~ 77: Service コンポーネントの宣言タグ。特定の Android サービスを定義および説明するために使用されます。このうち、 android:name は Service サービス クラス名を表し、 android:enabled はサービス スイッチを表し、 android:exported はサービスが他のアプリケーション コンポーネントによって呼び出されるか、サービスと対話できるかどうかを示します。

81 ~ 92 行目: JPush SDK パッケージによって定義された PushService サービスの宣言。

行 95 ~ 113: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言。特定の Android ブロードキャスト レシーバーを定義および説明するために使用されます。 android:name は Boardcast Receiver の受信クラス名を表し、android:enabled は受信スイッチを表します。インテント メッセージ フィルターの の宣言に注意してください。 には、特定のメッセージを説明するために使用される名前である 要素が含まれている必要があります。アクションが準拠するカテゴリ。

115 行目: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言。ここには AlarmReceiver があります。

行 119 ~ 132: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言 これは、ソース コード パッケージの MyReceiver.java に対応する MyReceiver カスタム ブロードキャスト レシーバーです。

136 行目: タグ JPUSH_CHANNEL ステートメント、 は、 と同様に、事前定義されたデータを格納するために使用されます。 activity>、、および の 4 つの要素タグ。メタ データは通常、キーと値のペアの形式で表示され、これらのデータはプログラム内で Bundle オブジェクトに配置され、ActivityInfo オブジェクト、ServiceInfo オブジェクト、さらには ApplicationInfo オブジェクトのメタデータ属性を使用できます。読むこと。

137 行目: タグ JPUSH_APPKEY は、以下の図の赤い線で示すように、Jiguang Push 公式 Web サイトでアプリケーションを作成するときにシステムによって割り当てられる AppKey であることを宣言します。



終わり

以上で、Aurora Push公式サイトでアプリケーションを作成する際に自動生成されるサンプルコードのフレームワークを解析しました。これで、自分のアプリケーションに移植する方法が大体わかりました。次のセクションでは、これを修正して自分のデモ プログラムに移植する予定です。

/*************************************************** * ************************************************

*Luyang Hi-Tech Studio

*ウェブサイトアドレス: www.bigbearking.com

*業務協力QQ: 1519190237

*事業範囲: ウェブサイト構築、デスクトップソフトウェア開発、AndroidIOS開発、画像およびフィルムの後処理、PCBデザイン

* ********************************************** **** ********************************************* ***/
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

See all articles