プラットフォームの差異を効果的に管理する方法を学びましょう。

Capacitorがプラットフォームの差異をどのように扱うか

iOSとAndroidのモバイルアプリ開発で、単一のコードベースを使用してプラットフォームの差異を効果的に管理する方法を学びましょう。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

プラットフォームの差異を取り扱うCapacitorの方法

Capacitor 開発者がiOSおよびAndroid向けのアプリを同じコードベースで作成し、プラットフォーム固有の差異を対処するのに役立ちます。また、ネイティブ機能の統合を簡素化し、プラットフォームガイドラインへの準拠を保証し、パフォーマンスを最適化します。主な特徴:

  • プラットフォーム検出: Capacitor.getPlatform() to apply platform-specific code.
  • プラットフォーム固有の__CAPGO_KEEP_0__を適用します。組み込みプラグイン
  • :: Add native code for unique requirements.
  • カスタムプラグイン: iOSのデザインルールに従ってください (例えば、 SF Symbols、丸いボタン) とAndroid (例えば、 Material Icons、左寄せのボタン)。
  • 設定: 両方のプラットフォームの設定を調整します。 capacitor.config.json リアルタイム更新
  • : __CAPGO_KEEP_0__ Capgo比較

__CAPGO_KEEP_0__

機能 iOS Android
ナビゲーション 下部タブバー、左側の戻るボタン 上部ナビゲーションドロワー、下部ナビゲーション
フォント San Francisco フォント Roboto フォント
プラグイン (例: カメラ) AVFoundation カメラ2 API
ビルド出力 .ipa ファイル .aab または .apk ファイル

Capacitorは、Webアプリとネイティブアプリの開発を結び付ける橋となり、クロスプラットフォームアプリの開発を容易にし、プラットフォーム固有の最適化を維持することができます。

クロスプラットフォーム開発:CapacitorJSを…

どうして Capacitor CodeはプラットフォームCodeを取り扱います。

Capacitorフレームワークドキュメントサイト

Capacitorは、iOSとAndroid向けにカスタマイズされたエクスペリエンスを提供するために、開発者にプラットフォーム固有のcodeを管理するツールを提供し、単一のAPIで開発することができます。

Detect Platforms in Code

Capacitorの組み込みプラットフォームAPIを使用すると、現在のプラットフォームを検出することが簡単になります。 Capacitor.getPlatform() このメソッドは、実行中の環境を特定することで、条件付きロジックを適用することが容易になります。

import { Capacitor } from '@capacitor/core';

const platform = Capacitor.getPlatform();
if (platform === 'ios') {
  // Code specific to iOS
} else if (platform === 'android') {
  // Code specific to Android
}

このアプローチは、特に 生物認証のような機能では特に便利です。iOSでは Face ID and Android relies on Fingerprint Authentication. Along with platform detection, Capacitor’s built-in plugins simplify native integration.

指紋認証

を使用します。プラットフォーム検出に加えて、Capacitorの組み込みプラグインはネイティブ統合を簡素化します。

__CAPGO_KEEP_0__には、プラットフォーム固有の差異を自動的に管理するためのコアプラグインが含まれています。これらのプラグインは、ネイティブ実装の複雑さを管理しながら、統一されたJavaScriptインターフェイスを提供します。 プラグイン Android実装
カメラ AVFoundation カメラ2 API
ストレージ ユーザー設定 共有設定
位置情報 CoreLocation 位置管理

各プラグインは、プラットフォームのネイティブAPIを自動的に使用するため、Smoothなパフォーマンスと機能性を保証します。

カスタムプラットフォームプラグインの作成

標準のプラグインでは対応できない場合、特定のネイティブAPIにアクセスするためのカスタムプラグインを作成できます。ここではそれについて説明します。

  1. プラグインの定義

    @Plugin({
      name: 'CustomFeature',
      platforms: ['ios', 'android']
    })
  2. ネイティブのCodeを追加する

    @PluginMethod()
    async customFunction(): Promise<void> {
      if (Capacitor.getPlatform() === 'ios') {
        // Add iOS-specific code
      } else {
        // Add Android-specific code
      }
    }
  3. プラットフォームハンドラーの実装

    • iOS (Swift):

      @objc func customFunction(_ call: CAPPluginCall) {
        // Add native iOS functionality
      }
    • Android (Kotlin):

      @PluginMethod
      fun customFunction(call: PluginCall) {
        // Add native Android functionality
      }

カスタムプラグインは、APIを簡単に使用できるようにすることで、ネイティブの機能にアクセスすることができます。これにより、パフォーマンスと機能性が保たれ、開発プロセスが複雑化することなく実現できます。

プラットフォーム固有のUIガイドライン

iOSとAndroidのデザインルールの比較

iOSとAndroidのデザインを行う際には、ネイティブのデザインパターンを遵守することが重要です。各プラットフォームのユーザーは、ナビゲーション、フォント、ボタン、ヘッダー、アイコンなどのことについて異なる期待をしています。ここでは、それらの比較について説明します。

デザイン要素 iOS Android
ナビゲーション __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
タイポグラフィ San Francisco フォント Roboto フォント
ボタン 丸角の長方形、中央のテキスト マテリアル デザイン ボタン、左寄せのテキスト
ヘッダー 大きいタイトル、中央 App bars, left-aligned
アイコン SF Symbols Material Icons

クロスプラットフォーム デザイン スタンダード

各プラットフォームには独自のルールがありますが、両方のプラットフォームで一貫したブランド イデンティティを維持することは重要です。ここでは、どのようにして一貫性を保つことができるかを説明します。

const sharedStyles = {
  primaryColor: '#007AFF', // iOS blue
  androidPrimaryColor: '#6200EE', // Material Design purple
  borderRadius: Capacitor.getPlatform() === 'ios' ? '10px' : '4px'
};

:root {
  --app-header-height: var(--platform-header-height, 56px);
  --app-safe-area-top: var(--platform-safe-area-top, 0px);
}

Capacitor を使用すると、プラットフォーム固有の UI コンポーネントを統合することができ、機能性を一貫させることができます。また、システム全体の設定、例えばダークモードやダイナミック タイプの管理も可能です。プロセスを完了するには、プラットフォーム固有のビルド設定がこれらのガイドラインと一致していることを確認してください。

プラットフォーム設定と構成

After managing your platform code, proper configuration is essential to ensure your app runs smoothly on both iOS and Android.

プラットフォーム設定 capacitor.config.json

設定 capacitor.config.json ファイルを使用して、重要なプラットフォーム固有の設定を定義してください:

{
  "appId": "com.example.app",
  "appName": "MyApp",
  "ios": {
    "contentInset": "always",
    "backgroundColor": "#ffffff",
    "scheme": "myapp",
    "preferredContentMode": "mobile"
  },
  "android": {
    "backgroundColor": "#FFFFFF",
    "allowMixedContent": true,
    "captureInput": true,
    "webContentsDebuggingEnabled": true
  }
}

設定オプションを検討してください:

オプション iOS Android
Deep Links scheme __CAPGO_KEEP_0__ androidScheme __CAPGO_KEEP_1__
ステータス バー statusBar.style statusBar.backgroundColor
キーボード keyboard.resize keyboard.resize, keyboard.style
スプラッシュ画面 splashScreen.launchShowDuration splashScreen.layoutName

実行時設定が完了したら、各プラットフォームのパフォーマンスを向上させるためにビルド設定を調整してください。

プラットフォーム固有のビルド設定

iOSとAndroidのアプリを最適化するために、ビルド設定を細かく調整してください。

iOSの場合、 Info.plist ファイル:

<key>NSCameraUsageDescription</key>
<string>Required for document scanning</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required for store locator</string>

Androidの場合、 android/app/build.gradle:

android {
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt')
        }
    }
}

ビルドの重要な考慮事項は次のとおりです:

アスペクト iOS Android
パーミッション Add entries in Info.plist 定義する AndroidManifest.xml
アイコン 20pxから1024pxまでのサイズ mdpiからxxxhdpiまでの密度
スプラッシュ画面 Storyboardベース レイアウトXMLベース
ビルド出力 .ipa ファイル .aab または .apk ファイル

アプリを更新するには Capgo

Capgo ライブアップデートダッシュボードインターフェイス

Keeping Capacitorアプリの Capgoは、iOSとAndroid両方のプラットフォームのガイドラインに沿ったライブアップデートシステムを提供しています。

Capgoの機能

機能 説明 プラットフォームの利点
ライブアップデート アプリストアのレビューなしで即刻展開 iOSとAndroidで統一された体験を保証
端末間の暗号化 アップデート配信のセキュリティを確保 両方のプラットフォームのセキュリティ要件を満たします。
チャネルシステム 特定のユーザーグループをターゲットにします。 ベータテストとフェーズドロールアウトをサポートします。
部分的な更新 変更されたコンテンツのみをダウンロードします。 バンド幅を節約し、更新を速める

Capgoは、24時間以内に95%のアクティブユーザーが更新されることを実現するために、23.5万回の更新を実行しました。 [1]これらの機能により 更新管理 プラットフォームをまたがって滑らかで効率的なものになります。

Capgoプラットフォーム管理

Capgoのチャンネルシステムにより、更新の管理が容易になります。開発者はiOS向けの機能をベータユーザーとともにテストし、Androidの更新を段階的に実施し、パフォーマンスの指標をシームレスに追跡できます。

プラットフォームはAppleとGoogleのオーバー・ザ・エア更新の要件に準拠しています。 [1].

現在、Capgoに依存する750の製品アプリが存在し、グローバル更新成功率は82%を維持しています。 [1]CI/CDの統合により、展開が簡素化され、ロールバック機能により、問題が発生した場合に前のバージョンに戻すことができるようになります。リアルタイムの分析により、更新のパフォーマンスに関する洞察が得られ、安定したアプリの維持が可能になります。

結論

プラットフォーム管理の利点

Capacitorでプラットフォームの差異を効果的に管理することで、クロスプラットフォーム開発が向上します。プラットフォームの検出と設定のための組み込みツールにより、開発者はiOSとAndroid両方に対してSmoothなエクスペリエンスを提供し、各プラットフォームの独自のデザインスタンダードと機能を尊重することができます。

プラットフォーム管理に焦点を当てた開発チームは、更新を迅速にリリースし、ユーザーの満足度を向上させることができます。Capgoのようなツールは、一貫したプラットフォームの取り扱いが高い更新成功率と良好なユーザーエクスペリエンスにつながることを示しています。 [1].

「アジャイル開発を実践しており、@Capgoはユーザーに継続的に提供するmission-criticalなツールです」とRodrigo Mantica氏が述べました。
これらの洞察は、実践的な改善を導くことができます。 [1]

次のステップ

__CAPGO_KEEP_0__のチャンネルシステムにより、更新の管理が容易になります。開発者はiOS向けの機能をベータユーザーとともにテストし、Androidの更新を段階的に実施し、パフォーマンスの指標をシームレスに追跡できます。

__CAPGO_KEEP_0__

アクションアイテム 利点
プラットフォーム検出を有効にする iOSとAndroidの両方のニーズに自動調整
ライブアップデートを実装 急な修正のためにアプリストアの遅延を回避
分析設定 各プラットフォームのパフォーマンスメトリクスを追跡
ロールバックサポートを有効にする プラットフォーム固有の問題を迅速に解決

開発者がワークフローを改善することを目指している場合は、ツールのようなCapgoがプロセスを簡素化できる。エンドツーエンド暗号化やCI/CD統合などの機能により、チームは一貫性を維持しながら効率的にアップデートを展開できる

プラットフォーム管理の成功は、適切なツールの使用とプラットフォーム固有のガイドラインへの従順に依存します。開発者は、iOSとAndroid両方でアプリが平滑に動作するようにするために、強力な検出と管理戦略に焦点を当てて、プラットフォームの差異をうまく乗り越えることができます。

Capacitorがプラットフォームの差異をどのように処理するかについては、ここから続きます。

あなたが「__CAPGO_KEEP_0__」を使用している場合 Capacitorがプラットフォームの差異をどのように処理するかについては、ここから続きます。 __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-live-activities capgo/capacitor-live-activities capgo/capacitor-live-activities capgo/capacitor-video-player capgo/capacitor-video-player Using @capgo/capacitor-video-player for the native capability in Using @capgo/capacitor-video-player, @capgo/capacitor-video-player For the implementation detail in @capgo/capacitor-video-player, and Using @capgo/capacitor-native-navigation For the native capability in Using @capgo/capacitor-native-navigation.

Capacitor アプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgoを通じて修正を配信し、アプリストアの承認待ちの日数を省きます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じます。

今すぐ始めましょう

ブログの最新記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。