メインコンテンツにジャンプ

How Capacitor Handles Platform Differences

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

How Capacitor Handles Platform Differences

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

  • プラットフォーム検出:使用 Capacitor.getPlatform() プラットフォーム固有のcodeを適用するために
  • 組み込みプラグイン: フォクルアコトにきういだです。バームイン、バトショナ、バトショナをきういだです。
  • バームインにをかられています。コンターバームイン。: 一意の要件にnative codeを追加します。
  • バームイン。: フォクルアコトにきういだです。バイトショナ、バトショナをきういだです。バイトショナをかられています。 バイトショナ。: フォクルアコトにきういだです。バイトショナ、バトショナをきういだです。バイトショナをかられています。 バイトショナ。: フォクルアコトにきういだです。バイトショナ、バトショナをきういだです。バイトショナをかられています。
  • バイトショナ。: フォクルアコトにきういだです。バイトショナ、バトショナをきういだです。バイトショナをかられています。 capacitor.config.json バイトショナ。
  • ライブアップデート Capgo即時更新

: 即時更新でアプリストアの遅延なしで、24時間以内に95%のユーザーが採用

Feature Feature iOS
Android ナビゲーション ボトムタブバー、左の戻るボタン
Typography フォントの種類 フォント: Roboto
プラグイン (例: カメラ) AVFoundation カメラ2 API
ビルド出力 .ipa ファイル .aab または .apk ファイル

Capacitorは、Webアプリとネイティブアプリの開発の間のギャップを埋め、クロスプラットフォームアプリの作成を容易にし、プラットフォーム固有の最適化を維持します。

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

How Capacitor Handles Platform Code

Capacitor Framework Documentation Website

Capacitor offers tools to manage platform-specific code, allowing developers to create tailored experiences for iOS and Android using a single API.

Detect Platforms in Code

プラットフォームの検出は、Capacitorの組み込みプラットフォームAPIによって簡単に行えます。 Capacitor.getPlatform() このアプローチは、特にFace IDを使用するiOSとFingerprint Authenticationを使用するAndroidの両方に対応する必要がある機能など、条件付きロジックを適用する必要がある場合に便利です。

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

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

Face ID Fingerprint Authentication__CAPGO_KEEP_2__ Face ID Capacitor

プラットフォーム固有の機能

Capacitorはプラットフォーム固有の差異をスムーズに処理するためのコアプラグインを備えています。これらのプラグインはネイティブ実装の複雑さを管理しながら、統一されたJavaScriptインターフェイスを提供します。

プラグイン iOS実装 Android実装
カメラ AVFoundation カメラ2 API
ストレージ UserDefaults SharedPreferences
位置情報 CoreLocation LocationManager

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

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

カスタムプラグインを作成することで、特定のネイティブ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 マーケティング ウェブサイト。役割:セクションまたはページ ヘッダー。表示:ページ brand.astro。メッセージキー brand_typography_heading (ブランド フォント ヘッダー)。 San Francisco フォント
Roboto フォント 丸角四角形、中央のテキスト マテリアル デザインのボタン、左寄せのテキスト
ヘッダー 大きいタイトル、中央 アプリ バー、左寄せ
アイコン SF Symbols マテリアル アイコン

プラットフォーム間のデザイン基準

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

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

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

codeを管理した後、iOSとAndroid両方でアプリが正常に動作するようにするには、適切な設定が不可欠です。

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

Capacitorを使用する 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 ディープリンク
プロパティ scheme ステータスバー androidScheme ステータスバー
設定 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
許可 追加 Info.plist 定義 AndroidManifest.xml
アイコン 20pxから1024pxまで mdpiからxxxhdpiまで
スプラッシュ画面 Storyboardベース レイアウトXMLベース
ビルド出力 .ipa ファイル .aab または .apk ファイル

アップデート アプリケーションに Capgo

Capgo Live Update ダッシュボード インターフェイス

Keeping Capacitor アプリ iOSとAndroid両方で効率的に更新することは重要です。Capgoは、両方のプラットフォームのガイドラインに沿ったlive updateシステムを提供します。

iOSとAndroid両方のプラットフォームで効率的に更新されることは非常に重要です。Capgoは、両方のプラットフォームのガイドラインに沿ったシステムを提供します。

Feature 機能 説明
プラットフォームの利点は何か? 即時配布、審査なし iOSとAndroidで統一された体験を保証
端末間の暗号化 更新配信のセキュリティ 両プラットフォームのセキュリティ要件を満たす
チャネルシステム 特定のユーザーグループをターゲット ベータテストとフェーズドロールアウトをサポート
部分的更新 変更されたコンテンツのみをダウンロード バンド幅を節約し、更新を高速化

Capgoは、24時間以内に95%のアクティブユーザーに23.5百万回の更新を提供しました。 [1]Capgo Capacitor Live Update

Capgo Platform Management

Capgo’s channel system makes updates easier to manage. Developers can test iOS-specific features with beta users, roll out Android updates in stages, and track performance metrics seamlessly.

code [1].

現在、750のプロダクションアプリがCapgoに依存しており、グローバルアップデート成功率は82%です。 [1]SDK

CLI

npm

Managing platform differences effectively in Capacitor enhances cross-platform development. Its built-in tools for platform detection and configuration allow developers to create smooth experiences for both iOS and Android, all while respecting the unique design standards and features of each platform.

By focusing on proper platform management, development teams can release updates faster and improve user satisfaction. Tools like Capgo have shown how consistent platform handling can lead to higher update success rates and better user experiences [1].

“Capacitorでは、@Capgoは、ユーザーに継続的に提供するmission-criticalな要素です!”
– ロドリゴ・マンチカ [1]

これらの洞察は、実際の改善を導くことができます。

次のステップ

これらの利点を最大限に活用するには、以下の戦略を実装することを検討してください。

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

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

プラットフォーム管理の成功は、適切なツールを使用し、プラットフォーム固有のガイドラインに従うことによって達成されます。強力な検出と管理戦略に焦点を当てると、開発者はiOSとAndroid両方でアプリが平滑に動作することを保証できます。

How Capacitorがプラットフォームの差異を処理する方法については続きます

あなたが使用している How Capacitorがプラットフォームの差異を処理する方法について を使用してネイティブメディアとインターフェイスの動作を計画する場合、__CAPGO_KEEP_0__に接続する capgo/capacitor-live-activitiesを使用する capgo/capacitor-live-activitiesのネイティブ機能 capgo/capacitor-live-activities Capacitorは@capgo/capacitor-live-activitiesの実装詳細について取り扱います。 Using @capgo/capacitor-video-player Capacitorは、@capgo/capacitor-video-playerのネイティブ機能に対して対応しています。 @capgo/capacitor-video-player @capgo/capacitor-ビデオ・プレーヤーの実装詳細について Using @capgo/capacitor-native-navigation Capacitorは@capgo/capacitor-nativeナビゲーションで使用されるネイティブ機能に対して対応します。

Capacitor アプリの即時更新

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

最新のブログ

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