@bprotsyk/aso-core 2.1.189 → 2.1.190

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/app/app.d.ts CHANGED
@@ -141,10 +141,14 @@ export declare enum IntegrationVersion {
141
141
  PWA = "PWA"
142
142
  }
143
143
  export interface IKeitaroDirectTrackingParams {
144
- naming: string;
144
+ firebase_app_instance_id: string;
145
+ firebase_user_id: string;
146
+ firebase_device_language_code: string;
147
+ firebase_push_token: string;
145
148
  bundle_id: string;
146
149
  advertising_id: string;
147
150
  appsflyer_device_id: string;
151
+ campaign: string;
148
152
  }
149
153
  export interface IAppKeitaroData {
150
154
  trackingCampaignId: number;
@@ -359,21 +359,24 @@ async function checkAndUpdateCampaignParameters(existingCampaign, app, platform)
359
359
  return false;
360
360
  }
361
361
  async function checkParametersMatch(appTrackingParams, campaignParams, app, platform) {
362
- // Перевіряємо чи параметри відповідають trackingParams з app
363
- // New structure uses sub_id_20 for campaign naming, old used sub_id_15
364
- const namingMatch = (campaignParams.sub_id_20?.name === 'campaign') || (campaignParams.sub_id_15?.name === appTrackingParams.naming);
365
- const advertisingIdMatch = campaignParams.sub_id_17?.name === 'advertising_id' || campaignParams.sub_id_17?.name === appTrackingParams.advertising_id;
366
- const appsflyerDeviceIdMatch = campaignParams.sub_id_18?.name === 'appsflyer_device_id' || campaignParams.sub_id_18?.name === appTrackingParams.appsflyer_device_id;
367
- // Check for new Firebase parameters
368
- const hasFirebaseParams = campaignParams.sub_id_11?.name === 'firebase_app_instance_id' &&
362
+ // Перевіряємо чи параметри відповідають trackingParams з app (нова структура)
363
+ const campaignMatch = campaignParams.sub_id_20?.name === 'campaign' && appTrackingParams.campaign === 'campaign';
364
+ const advertisingIdMatch = campaignParams.sub_id_17?.name === 'advertising_id' && appTrackingParams.advertising_id === 'advertising_id';
365
+ const appsflyerDeviceIdMatch = campaignParams.sub_id_18?.name === 'appsflyer_device_id' && appTrackingParams.appsflyer_device_id === 'appsflyer_device_id';
366
+ // Check for new Firebase parameters in both campaign and app
367
+ const hasFirebaseParamsInCampaign = campaignParams.sub_id_11?.name === 'firebase_app_instance_id' &&
369
368
  campaignParams.sub_id_12?.name === 'firebase_user_id' &&
370
369
  campaignParams.sub_id_13?.name === 'firebase_device_language_code' &&
371
370
  campaignParams.sub_id_14?.name === 'firebase_push_token';
371
+ const hasFirebaseParamsInApp = appTrackingParams.firebase_app_instance_id === 'firebase_app_instance_id' &&
372
+ appTrackingParams.firebase_user_id === 'firebase_user_id' &&
373
+ appTrackingParams.firebase_device_language_code === 'firebase_device_language_code' &&
374
+ appTrackingParams.firebase_push_token === 'firebase_push_token';
372
375
  // Перевіряємо чи змінилися ключові налаштування додатку
373
376
  const bundleChanged = campaignParams.sub_id_16?.placeholder !== app.bundle;
374
377
  const appsflyerDevKeyChanged = campaignParams.sub_id_19?.placeholder !== (app.platforms[platform].appsflyerParams?.devKey || 'appsflyer_dev_key');
375
378
  // Якщо всі параметри співпадають з новим стандартом і немає змін в додатку
376
- if (namingMatch && advertisingIdMatch && appsflyerDeviceIdMatch && hasFirebaseParams && !bundleChanged && !appsflyerDevKeyChanged) {
379
+ if (campaignMatch && advertisingIdMatch && appsflyerDeviceIdMatch && hasFirebaseParamsInCampaign && hasFirebaseParamsInApp && !bundleChanged && !appsflyerDevKeyChanged) {
377
380
  console.log("All parameters match new standard and app settings unchanged, no update needed");
378
381
  return false;
379
382
  }
@@ -382,14 +385,16 @@ async function checkParametersMatch(appTrackingParams, campaignParams, app, plat
382
385
  console.log(`Bundle changed: ${campaignParams.sub_id_16?.placeholder} → ${app.bundle}`);
383
386
  if (appsflyerDevKeyChanged)
384
387
  console.log(`Appsflyer Dev Key changed: ${campaignParams.sub_id_19?.placeholder} → ${app.platforms[platform].appsflyerParams?.devKey || 'appsflyer_dev_key'}`);
385
- if (!namingMatch)
386
- console.log(`Naming parameter mismatch - needs update to new standard (sub_id_20)`);
388
+ if (!campaignMatch)
389
+ console.log(`Campaign parameter mismatch - needs update to new standard (sub_id_20)`);
387
390
  if (!advertisingIdMatch)
388
391
  console.log(`Advertising ID parameter mismatch - needs update to new standard`);
389
392
  if (!appsflyerDeviceIdMatch)
390
393
  console.log(`Appsflyer Device ID parameter mismatch - needs update to new standard`);
391
- if (!hasFirebaseParams)
392
- console.log(`Firebase parameters missing - needs update to include sub_id_11-14`);
394
+ if (!hasFirebaseParamsInCampaign)
395
+ console.log(`Firebase parameters missing in campaign - needs update to include sub_id_11-14`);
396
+ if (!hasFirebaseParamsInApp)
397
+ console.log(`Firebase parameters missing in app trackingParams - needs update`);
393
398
  return true; // Потрібно оновлення
394
399
  }
395
400
  async function generateAndUpdateCampaignParameters(existingCampaign, app, platform) {
@@ -425,13 +430,17 @@ async function generateAndUpdateCampaignParameters(existingCampaign, app, platfo
425
430
  }
426
431
  async function updateAppTrackingParams(app, platform, newParameters) {
427
432
  try {
428
- // Оновлюємо trackingParams в додатку
433
+ // Оновлюємо trackingParams в додатку з новою структурою
429
434
  const platformData = app.platforms[platform];
430
435
  if (platformData?.direct?.keitaroData && typeof platformData.direct.keitaroData !== 'boolean' && platformData.direct.keitaroData.trackingParams) {
431
436
  platformData.direct.keitaroData.trackingParams = {
432
- naming: newParameters.sub_id_15?.name || "",
433
- advertising_id: newParameters.sub_id_17?.name || "",
434
- appsflyer_device_id: newParameters.sub_id_18?.name || "",
437
+ firebase_app_instance_id: newParameters.sub_id_11?.name || "firebase_app_instance_id",
438
+ firebase_user_id: newParameters.sub_id_12?.name || "firebase_user_id",
439
+ firebase_device_language_code: newParameters.sub_id_13?.name || "firebase_device_language_code",
440
+ firebase_push_token: newParameters.sub_id_14?.name || "firebase_push_token",
441
+ advertising_id: newParameters.sub_id_17?.name || "advertising_id",
442
+ appsflyer_device_id: newParameters.sub_id_18?.name || "appsflyer_device_id",
443
+ campaign: newParameters.sub_id_20?.name || "campaign",
435
444
  bundle_id: newParameters.sub_id_16?.name || ""
436
445
  };
437
446
  console.log("App trackingParams updated:", platformData.direct.keitaroData.trackingParams);
@@ -517,7 +526,7 @@ async function updateCampaignWithAppParams(existingCampaign, app, platform) {
517
526
  }
518
527
  }
519
528
  };
520
- console.log(`Using app trackingParams: naming=${appTrackingParams.naming}, advertising_id=${appTrackingParams.advertising_id}, appsflyer_device_id=${appTrackingParams.appsflyer_device_id}`);
529
+ console.log(`Using app trackingParams: campaign=${appTrackingParams.campaign}, advertising_id=${appTrackingParams.advertising_id}, appsflyer_device_id=${appTrackingParams.appsflyer_device_id}`);
521
530
  // Оновлюємо кампанію з параметрами з app
522
531
  const updatePayload = {
523
532
  parameters: newParameters.parameters
@@ -546,14 +555,18 @@ async function updateAppWithCampaignParams(existingCampaign, app, platform) {
546
555
  console.error("No parameters found in campaign");
547
556
  return false;
548
557
  }
549
- // Оновлюємо app з параметрами з Keitaro
558
+ // Оновлюємо app з параметрами з Keitaro (нова структура)
550
559
  platformData.direct.keitaroData.trackingParams = {
551
- naming: campaignParams.sub_id_15?.name || "",
552
- advertising_id: campaignParams.sub_id_17?.name || "",
553
- appsflyer_device_id: campaignParams.sub_id_18?.name || "",
560
+ firebase_app_instance_id: campaignParams.sub_id_11?.name || "firebase_app_instance_id",
561
+ firebase_user_id: campaignParams.sub_id_12?.name || "firebase_user_id",
562
+ firebase_device_language_code: campaignParams.sub_id_13?.name || "firebase_device_language_code",
563
+ firebase_push_token: campaignParams.sub_id_14?.name || "firebase_push_token",
564
+ advertising_id: campaignParams.sub_id_17?.name || "advertising_id",
565
+ appsflyer_device_id: campaignParams.sub_id_18?.name || "appsflyer_device_id",
566
+ campaign: campaignParams.sub_id_20?.name || "campaign",
554
567
  bundle_id: campaignParams.sub_id_16?.placeholder || ""
555
568
  };
556
- console.log(`Updated app with campaign parameters: naming=${platformData.direct.keitaroData.trackingParams.naming}, advertising_id=${platformData.direct.keitaroData.trackingParams.advertising_id}, appsflyer_device_id=${platformData.direct.keitaroData.trackingParams.appsflyer_device_id}`);
569
+ console.log(`Updated app with campaign parameters (new structure): campaign=${platformData.direct.keitaroData.trackingParams.campaign}, advertising_id=${platformData.direct.keitaroData.trackingParams.advertising_id}, appsflyer_device_id=${platformData.direct.keitaroData.trackingParams.appsflyer_device_id}`);
557
570
  return true;
558
571
  }
559
572
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bprotsyk/aso-core",
3
- "version": "2.1.189",
3
+ "version": "2.1.190",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "scripts": {
package/src/app/app.ts CHANGED
@@ -191,10 +191,14 @@ export enum IntegrationVersion {
191
191
  }
192
192
 
193
193
  export interface IKeitaroDirectTrackingParams {
194
- naming: string,
194
+ firebase_app_instance_id: string,
195
+ firebase_user_id: string,
196
+ firebase_device_language_code: string,
197
+ firebase_push_token: string,
195
198
  bundle_id: string,
196
199
  advertising_id: string,
197
200
  appsflyer_device_id: string,
201
+ campaign: string,
198
202
  }
199
203
 
200
204
  export interface IAppKeitaroData {
@@ -428,24 +428,28 @@ async function checkAndUpdateCampaignParameters(existingCampaign: IKeitaroCampai
428
428
  }
429
429
 
430
430
  async function checkParametersMatch(appTrackingParams: any, campaignParams: IKeitaroCampaignParameters, app: IApp, platform: EPlatform): Promise<boolean> {
431
- // Перевіряємо чи параметри відповідають trackingParams з app
432
- // New structure uses sub_id_20 for campaign naming, old used sub_id_15
433
- const namingMatch = (campaignParams.sub_id_20?.name === 'campaign') || (campaignParams.sub_id_15?.name === appTrackingParams.naming);
434
- const advertisingIdMatch = campaignParams.sub_id_17?.name === 'advertising_id' || campaignParams.sub_id_17?.name === appTrackingParams.advertising_id;
435
- const appsflyerDeviceIdMatch = campaignParams.sub_id_18?.name === 'appsflyer_device_id' || campaignParams.sub_id_18?.name === appTrackingParams.appsflyer_device_id;
431
+ // Перевіряємо чи параметри відповідають trackingParams з app (нова структура)
432
+ const campaignMatch = campaignParams.sub_id_20?.name === 'campaign' && appTrackingParams.campaign === 'campaign';
433
+ const advertisingIdMatch = campaignParams.sub_id_17?.name === 'advertising_id' && appTrackingParams.advertising_id === 'advertising_id';
434
+ const appsflyerDeviceIdMatch = campaignParams.sub_id_18?.name === 'appsflyer_device_id' && appTrackingParams.appsflyer_device_id === 'appsflyer_device_id';
436
435
 
437
- // Check for new Firebase parameters
438
- const hasFirebaseParams = campaignParams.sub_id_11?.name === 'firebase_app_instance_id' &&
439
- campaignParams.sub_id_12?.name === 'firebase_user_id' &&
440
- campaignParams.sub_id_13?.name === 'firebase_device_language_code' &&
441
- campaignParams.sub_id_14?.name === 'firebase_push_token';
436
+ // Check for new Firebase parameters in both campaign and app
437
+ const hasFirebaseParamsInCampaign = campaignParams.sub_id_11?.name === 'firebase_app_instance_id' &&
438
+ campaignParams.sub_id_12?.name === 'firebase_user_id' &&
439
+ campaignParams.sub_id_13?.name === 'firebase_device_language_code' &&
440
+ campaignParams.sub_id_14?.name === 'firebase_push_token';
441
+
442
+ const hasFirebaseParamsInApp = appTrackingParams.firebase_app_instance_id === 'firebase_app_instance_id' &&
443
+ appTrackingParams.firebase_user_id === 'firebase_user_id' &&
444
+ appTrackingParams.firebase_device_language_code === 'firebase_device_language_code' &&
445
+ appTrackingParams.firebase_push_token === 'firebase_push_token';
442
446
 
443
447
  // Перевіряємо чи змінилися ключові налаштування додатку
444
448
  const bundleChanged = campaignParams.sub_id_16?.placeholder !== app.bundle;
445
449
  const appsflyerDevKeyChanged = campaignParams.sub_id_19?.placeholder !== (app.platforms[platform].appsflyerParams?.devKey || 'appsflyer_dev_key');
446
450
 
447
451
  // Якщо всі параметри співпадають з новим стандартом і немає змін в додатку
448
- if (namingMatch && advertisingIdMatch && appsflyerDeviceIdMatch && hasFirebaseParams && !bundleChanged && !appsflyerDevKeyChanged) {
452
+ if (campaignMatch && advertisingIdMatch && appsflyerDeviceIdMatch && hasFirebaseParamsInCampaign && hasFirebaseParamsInApp && !bundleChanged && !appsflyerDevKeyChanged) {
449
453
  console.log("All parameters match new standard and app settings unchanged, no update needed");
450
454
  return false;
451
455
  }
@@ -453,10 +457,11 @@ async function checkParametersMatch(appTrackingParams: any, campaignParams: IKei
453
457
  // Логуємо причину оновлення
454
458
  if (bundleChanged) console.log(`Bundle changed: ${campaignParams.sub_id_16?.placeholder} → ${app.bundle}`);
455
459
  if (appsflyerDevKeyChanged) console.log(`Appsflyer Dev Key changed: ${campaignParams.sub_id_19?.placeholder} → ${app.platforms[platform].appsflyerParams?.devKey || 'appsflyer_dev_key'}`);
456
- if (!namingMatch) console.log(`Naming parameter mismatch - needs update to new standard (sub_id_20)`);
460
+ if (!campaignMatch) console.log(`Campaign parameter mismatch - needs update to new standard (sub_id_20)`);
457
461
  if (!advertisingIdMatch) console.log(`Advertising ID parameter mismatch - needs update to new standard`);
458
462
  if (!appsflyerDeviceIdMatch) console.log(`Appsflyer Device ID parameter mismatch - needs update to new standard`);
459
- if (!hasFirebaseParams) console.log(`Firebase parameters missing - needs update to include sub_id_11-14`);
463
+ if (!hasFirebaseParamsInCampaign) console.log(`Firebase parameters missing in campaign - needs update to include sub_id_11-14`);
464
+ if (!hasFirebaseParamsInApp) console.log(`Firebase parameters missing in app trackingParams - needs update`);
460
465
 
461
466
  return true; // Потрібно оновлення
462
467
  }
@@ -500,13 +505,17 @@ async function generateAndUpdateCampaignParameters(existingCampaign: IKeitaroCam
500
505
 
501
506
  async function updateAppTrackingParams(app: IApp, platform: EPlatform, newParameters: IKeitaroCampaignParameters): Promise<void> {
502
507
  try {
503
- // Оновлюємо trackingParams в додатку
508
+ // Оновлюємо trackingParams в додатку з новою структурою
504
509
  const platformData = app.platforms[platform];
505
510
  if (platformData?.direct?.keitaroData && typeof platformData.direct.keitaroData !== 'boolean' && platformData.direct.keitaroData.trackingParams) {
506
511
  platformData.direct.keitaroData.trackingParams = {
507
- naming: newParameters.sub_id_15?.name || "",
508
- advertising_id: newParameters.sub_id_17?.name || "",
509
- appsflyer_device_id: newParameters.sub_id_18?.name || "",
512
+ firebase_app_instance_id: newParameters.sub_id_11?.name || "firebase_app_instance_id",
513
+ firebase_user_id: newParameters.sub_id_12?.name || "firebase_user_id",
514
+ firebase_device_language_code: newParameters.sub_id_13?.name || "firebase_device_language_code",
515
+ firebase_push_token: newParameters.sub_id_14?.name || "firebase_push_token",
516
+ advertising_id: newParameters.sub_id_17?.name || "advertising_id",
517
+ appsflyer_device_id: newParameters.sub_id_18?.name || "appsflyer_device_id",
518
+ campaign: newParameters.sub_id_20?.name || "campaign",
510
519
  bundle_id: newParameters.sub_id_16?.name || ""
511
520
  };
512
521
  console.log("App trackingParams updated:", platformData.direct.keitaroData.trackingParams);
@@ -595,7 +604,7 @@ async function updateCampaignWithAppParams(existingCampaign: IKeitaroCampaign, a
595
604
  }
596
605
  };
597
606
 
598
- console.log(`Using app trackingParams: naming=${appTrackingParams.naming}, advertising_id=${appTrackingParams.advertising_id}, appsflyer_device_id=${appTrackingParams.appsflyer_device_id}`);
607
+ console.log(`Using app trackingParams: campaign=${appTrackingParams.campaign}, advertising_id=${appTrackingParams.advertising_id}, appsflyer_device_id=${appTrackingParams.appsflyer_device_id}`);
599
608
 
600
609
  // Оновлюємо кампанію з параметрами з app
601
610
  const updatePayload = {
@@ -630,15 +639,19 @@ async function updateAppWithCampaignParams(existingCampaign: IKeitaroCampaign, a
630
639
  return false;
631
640
  }
632
641
 
633
- // Оновлюємо app з параметрами з Keitaro
642
+ // Оновлюємо app з параметрами з Keitaro (нова структура)
634
643
  platformData.direct.keitaroData.trackingParams = {
635
- naming: campaignParams.sub_id_15?.name || "",
636
- advertising_id: campaignParams.sub_id_17?.name || "",
637
- appsflyer_device_id: campaignParams.sub_id_18?.name || "",
644
+ firebase_app_instance_id: campaignParams.sub_id_11?.name || "firebase_app_instance_id",
645
+ firebase_user_id: campaignParams.sub_id_12?.name || "firebase_user_id",
646
+ firebase_device_language_code: campaignParams.sub_id_13?.name || "firebase_device_language_code",
647
+ firebase_push_token: campaignParams.sub_id_14?.name || "firebase_push_token",
648
+ advertising_id: campaignParams.sub_id_17?.name || "advertising_id",
649
+ appsflyer_device_id: campaignParams.sub_id_18?.name || "appsflyer_device_id",
650
+ campaign: campaignParams.sub_id_20?.name || "campaign",
638
651
  bundle_id: campaignParams.sub_id_16?.placeholder || ""
639
652
  };
640
653
 
641
- console.log(`Updated app with campaign parameters: naming=${platformData.direct.keitaroData.trackingParams.naming}, advertising_id=${platformData.direct.keitaroData.trackingParams.advertising_id}, appsflyer_device_id=${platformData.direct.keitaroData.trackingParams.appsflyer_device_id}`);
654
+ console.log(`Updated app with campaign parameters (new structure): campaign=${platformData.direct.keitaroData.trackingParams.campaign}, advertising_id=${platformData.direct.keitaroData.trackingParams.advertising_id}, appsflyer_device_id=${platformData.direct.keitaroData.trackingParams.appsflyer_device_id}`);
642
655
 
643
656
  return true;
644
657
  } catch (error) {