Skip to content

Commit fede2cc

Browse files
committed
Add android/ios implementation
1 parent b3566e0 commit fede2cc

38 files changed

+1887
-0
lines changed

.github/workflows/ci.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Test and Build Plugin
2+
3+
on:
4+
push:
5+
branches: [master, develop]
6+
pull_request:
7+
branches: [master]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v2
15+
16+
- name: Install yarn
17+
uses: actions/setup-node@v1
18+
with:
19+
node-version: '14'
20+
21+
- name: Install deps
22+
run: yarn install
23+
24+
# - name: Run tests
25+
# run: yarn test
26+
27+
- name: Run build
28+
run: yarn build

.gitignore

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
.idea/
2+
dist
3+
.sourcemaps
4+
xcuserdata/
5+
node_modules/
6+
cli/dist/commands/copy.js
7+
Pods/
8+
test_project/
9+
*.map
10+
.DS_Store
11+
Podfile.lock
12+
example/www/
13+
example/electron/www/*
14+
example/electron/capacitor.config.json
15+
example/android/app/src/main/assets/public/*
16+
!example/android/app/src/main/assets/public/.gitkeep
17+
example/ios/IonicRunner/public/*
18+
!example/ios/IonicRunner/public/.gitkeep
19+
Build/*
20+
Index/
21+
.*.sw*
22+
site/www
23+
android-template.iml
24+
!/build/.npmkeep
25+
lerna-debug.log
26+
capacitor-ios/
27+
local.properties
28+
contents.xcworkspacedata
29+
.stencil/
30+
android-template/.gradle/
31+
android-template/app/app.iml
32+
/site/.env
33+
/site/.firebase
34+
.gradle/
35+
.settings/
36+
.project

FirebaseAnalytics.podspec

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
Pod::Spec.new do |s|
3+
s.name = 'FirebaseAnalytics'
4+
s.version = '0.0.1'
5+
s.summary = 'Firebase Analytics for Capacitor Community'
6+
s.license = ''
7+
s.homepage = '[email protected]:capacitor-community/firebase-analytics.git'
8+
s.author = 'Priyank Patel <[email protected]>'
9+
s.source = { :git => '[email protected]:capacitor-community/firebase-analytics.git', :tag => s.version.to_s }
10+
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
11+
s.ios.deployment_target = '11.0'
12+
s.dependency 'Capacitor'
13+
end

android/.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

android/android.iml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="android-gradle" name="Android-Gradle">
5+
<configuration>
6+
<option name="GRADLE_PROJECT_PATH" value=":" />
7+
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.1" />
8+
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.1" />
9+
</configuration>
10+
</facet>
11+
<facet type="android" name="Android">
12+
<configuration>
13+
<option name="SELECTED_BUILD_VARIANT" value="debug" />
14+
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
15+
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
16+
<afterSyncTasks>
17+
<task>generateDebugSources</task>
18+
</afterSyncTasks>
19+
<option name="ALLOW_USER_CONFIGURATION" value="false" />
20+
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
21+
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
22+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
23+
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
24+
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
25+
<option name="PROJECT_TYPE" value="1" />
26+
</configuration>
27+
</facet>
28+
</component>
29+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
30+
<output url="file://$MODULE_DIR$/build/intermediates/javac/debug/classes" />
31+
<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/classes" />
32+
<exclude-output />
33+
<content url="file://$MODULE_DIR$">
34+
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
35+
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
36+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
37+
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/out" isTestSource="false" generated="true" />
38+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/google-services/debug" type="java-resource" generated="true" />
39+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true" />
40+
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
41+
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
42+
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
43+
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
44+
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
45+
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugUnitTest/out" isTestSource="true" generated="true" />
46+
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
47+
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
48+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
49+
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
50+
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
51+
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
52+
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
53+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
54+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
57+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
58+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
59+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
60+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
61+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
62+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
63+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
64+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
65+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
66+
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
67+
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
68+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
69+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
70+
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
71+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
72+
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
73+
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
74+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
75+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
76+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
77+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
86+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
87+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
88+
<excludeFolder url="file://$MODULE_DIR$/build" />
89+
</content>
90+
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
91+
<orderEntry type="sourceFolder" forTests="false" />
92+
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" />
93+
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3@jar" level="project" />
94+
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
95+
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" />
96+
<orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
97+
<orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1@jar" level="project" />
98+
<orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1@jar" level="project" />
99+
<orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1@jar" level="project" />
100+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.ext:junit:1.1.1@aar" level="project" />
101+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-core:3.2.0@aar" level="project" />
102+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.2.0@aar" level="project" />
103+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:core:1.2.0@aar" level="project" />
104+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.2.0@aar" level="project" />
105+
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.2.0@aar" level="project" />
106+
<orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0@jar" level="project" />
107+
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.1.0@jar" level="project" />
108+
<orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.1.0@jar" level="project" />
109+
<orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.1.0@jar" level="project" />
110+
<orderEntry type="library" name="Gradle: com.google.auto.value:auto-value-annotations:1.6.5@jar" level="project" />
111+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-analytics:17.4.2@aar" level="project" />
112+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement:17.4.2@aar" level="project" />
113+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-sdk:17.4.2@aar" level="project" />
114+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-api:17.4.2@aar" level="project" />
115+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-impl:17.4.2@aar" level="project" />
116+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-sdk-api:17.4.2@aar" level="project" />
117+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-base:17.4.2@aar" level="project" />
118+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-iid:20.1.5@aar" level="project" />
119+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-stats:17.0.0@aar" level="project" />
120+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-installations:16.2.1@aar" level="project" />
121+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-common:19.3.0@aar" level="project" />
122+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-installations-interop:16.0.0@aar" level="project" />
123+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-iid-interop:17.0.0@aar" level="project" />
124+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base:17.0.0@aar" level="project" />
125+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks:17.0.0@aar" level="project" />
126+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-measurement-connector:18.0.0@aar" level="project" />
127+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads-identifier:17.0.0@aar" level="project" />
128+
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement:17.0.0@aar" level="project" />
129+
<orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.1.0@aar" level="project" />
130+
<orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-core-utils:1.0.0@aar" level="project" />
131+
<orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
132+
<orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
133+
<orderEntry type="library" name="Gradle: androidx.activity:activity:1.0.0@aar" level="project" />
134+
<orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
135+
<orderEntry type="library" name="Gradle: androidx.core:core:1.2.0@aar" level="project" />
136+
<orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.0@aar" level="project" />
137+
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-components:16.0.0@aar" level="project" />
138+
<orderEntry type="library" name="Gradle: androidx.documentfile:documentfile:1.0.0@aar" level="project" />
139+
<orderEntry type="library" name="Gradle: androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar" level="project" />
140+
<orderEntry type="library" name="Gradle: androidx.print:print:1.0.0@aar" level="project" />
141+
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.1.0@aar" level="project" />
142+
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.1.0@aar" level="project" />
143+
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
144+
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.0.0@aar" level="project" />
145+
<orderEntry type="library" name="Gradle: androidx.savedstate:savedstate:1.0.0@aar" level="project" />
146+
<orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.0.0@aar" level="project" />
147+
<orderEntry type="module" module-name="capacitor-android" />
148+
</component>
149+
</module>

android/build.gradle

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
ext {
2+
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.12'
3+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.1'
4+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.2.0'
5+
}
6+
7+
buildscript {
8+
repositories {
9+
google()
10+
jcenter()
11+
}
12+
dependencies {
13+
classpath 'com.android.tools.build:gradle:3.6.1'
14+
15+
classpath 'com.google.gms:google-services:4.3.3'
16+
}
17+
}
18+
19+
apply plugin: 'com.android.library'
20+
apply plugin: 'com.google.gms.google-services'
21+
22+
android {
23+
compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 29
24+
defaultConfig {
25+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 21
26+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 29
27+
versionCode 1
28+
versionName "1.0"
29+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
30+
}
31+
buildTypes {
32+
release {
33+
minifyEnabled false
34+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
35+
}
36+
}
37+
lintOptions {
38+
abortOnError false
39+
}
40+
}
41+
42+
repositories {
43+
google()
44+
jcenter()
45+
mavenCentral()
46+
}
47+
48+
49+
dependencies {
50+
implementation fileTree(dir: 'libs', include: ['*.jar'])
51+
implementation project(':capacitor-android')
52+
testImplementation "junit:junit:$junitVersion"
53+
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
54+
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
55+
56+
implementation 'com.google.firebase:firebase-analytics:17.4.2'
57+
}

android/gradle.properties

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Project-wide Gradle settings.
2+
3+
# IDE (e.g. Android Studio) users:
4+
# Gradle settings configured through the IDE *will override*
5+
# any settings specified in this file.
6+
7+
# For more details on how to configure your build environment visit
8+
# http://www.gradle.org/docs/current/userguide/build_environment.html
9+
10+
# Specifies the JVM arguments used for the daemon process.
11+
# The setting is particularly useful for tweaking memory settings.
12+
org.gradle.jvmargs=-Xmx1536m
13+
14+
# When configured, Gradle will run in incubating parallel mode.
15+
# This option should only be used with decoupled projects. More details, visit
16+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17+
# org.gradle.parallel=true
18+
19+
# Supports AndroidX
20+
android.useAndroidX=true
21+
android.enableJetifier=true
52.4 KB
Binary file not shown.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Fri Dec 01 12:41:00 CST 2017
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

0 commit comments

Comments
 (0)