@apps-in-toss/native-modules 1.0.1 → 1.0.3

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/dist/index.d.cts CHANGED
@@ -314,6 +314,12 @@ declare class EntryMessageExitedEvent extends GraniteEventDefinition<undefined,
314
314
  listener(_: undefined): void;
315
315
  }
316
316
 
317
+ declare class HomeIconButtonClickHandleEvent extends GraniteEventDefinition<undefined, undefined> {
318
+ name: "homeIconButtonClickEvent";
319
+ remove(): void;
320
+ listener(_: undefined): void;
321
+ }
322
+
317
323
  interface StartUpdateLocationOptions {
318
324
  /**
319
325
  * 위치 정확도를 설정해요.
@@ -363,7 +369,7 @@ declare class VisibilityChangedByTransparentServiceWebEvent extends GraniteEvent
363
369
  private isVisibilityChangedByTransparentServiceWebResult;
364
370
  }
365
371
 
366
- declare const appsInTossEvent: GraniteEvent<EntryMessageExitedEvent | UpdateLocationEvent | AppBridgeCallbackEvent | VisibilityChangedByTransparentServiceWebEvent>;
372
+ declare const appsInTossEvent: GraniteEvent<EntryMessageExitedEvent | HomeIconButtonClickHandleEvent | UpdateLocationEvent | AppBridgeCallbackEvent | VisibilityChangedByTransparentServiceWebEvent>;
367
373
 
368
374
  declare function onVisibilityChangedByTransparentServiceWeb(eventParams: {
369
375
  options: {
@@ -373,6 +379,24 @@ declare function onVisibilityChangedByTransparentServiceWeb(eventParams: {
373
379
  onError: (error: unknown) => void;
374
380
  }): () => void;
375
381
 
382
+ interface AppBridgeCompatCallbacks<Result> {
383
+ onSuccess: (result: Result) => void;
384
+ onError: (reason: unknown) => void;
385
+ }
386
+ type AppBridgeCallback = (...args: any[]) => void;
387
+ declare function invokeAppBridgeCallback(id: string, ...args: any[]): boolean;
388
+ declare function invokeAppBridgeMethod<Result = any, Params = any>(methodName: string, params: Params, callbacks: AppBridgeCompatCallbacks<Result> & Record<string, AppBridgeCallback>): () => void;
389
+ declare function registerCallback(callback: AppBridgeCallback, name?: string): string;
390
+ declare function unregisterCallback(id: string): void;
391
+ declare function getCallbackIds(): string[];
392
+ declare const INTERNAL__appBridgeHandler: {
393
+ invokeAppBridgeCallback: typeof invokeAppBridgeCallback;
394
+ invokeAppBridgeMethod: typeof invokeAppBridgeMethod;
395
+ registerCallback: typeof registerCallback;
396
+ unregisterCallback: typeof unregisterCallback;
397
+ getCallbackIds: typeof getCallbackIds;
398
+ };
399
+
376
400
  /**
377
401
  * @public
378
402
  * @category 광고
@@ -422,6 +446,13 @@ type AdImpression = {
422
446
  type AdShow = {
423
447
  type: 'show';
424
448
  };
449
+ type AdUserEarnedReward = {
450
+ type: 'userEarnedReward';
451
+ data: {
452
+ unitType: string;
453
+ unitAmount: number;
454
+ };
455
+ };
425
456
  interface AdMobHandlerParams<Options = void, Event = AdMobFullScreenEvent> {
426
457
  options: Options;
427
458
  onEvent: (event: Event) => void;
@@ -483,6 +514,20 @@ interface RewardedAd {
483
514
  adUnitId: string;
484
515
  responseInfo: ResponseInfo;
485
516
  }
517
+ /**
518
+ * @public
519
+ * @category 광고
520
+ * @name AdMobLoadResult
521
+ * @description 광고의 ID와 응답 정보를 담고 있는 객체예요. 광고를 로드한 뒤, 관련 정보를 확인할 때 유용해요.
522
+ * @property {string} adGroupId 광고 그룹 ID예요.
523
+ * @property {string} adUnitId 광고 ID예요.
524
+ * @property {ResponseInfo} responseInfo 광고 로드 응답 정보예요. 자세한 내용은 [ResponseInfo](/react-native/reference/native-modules/광고/ResponseInfo.html)를 참고하세요.
525
+ */
526
+ interface AdMobLoadResult {
527
+ adGroupId: string;
528
+ adUnitId: string;
529
+ responseInfo: ResponseInfo;
530
+ }
486
531
 
487
532
  interface LoadAdMobInterstitialAdOptions {
488
533
  /**
@@ -511,16 +556,10 @@ type LoadAdMobInterstitialAdParams = AdMobHandlerParams<LoadAdMobInterstitialAdO
511
556
  * @public
512
557
  * @category 광고
513
558
  * @name loadAdMobInterstitialAd
514
- * @description 화면 전체를 덮는 전면 광고를 미리 불러와서, 광고가 필요한 시점에 바로 보여줄 수 있도록 준비하는 함수예요.
515
- * @param {LoadAdMobInterstitialAdParams} params 광고를 불러올 때 사용할 설정 값이에요. 광고 ID와 광고의 동작에 대한 콜백을 설정할 수 있어요.
516
- * @param {LoadAdMobInterstitialAdOptions} params.options 광고를 불러올 때 전달할 옵션 객체예요.
517
- * @param {string} params.options.adUnitId 광고 단위 ID예요. 발급받은 전면 광고용 ID를 입력해요.
518
- * @param {(event: LoadAdMobInterstitialAdEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고가 닫히거나 클릭됐을 때). 자세한 이벤트 타입은 [LoadAdMobInterstitialAdEvent](/react-native/reference/native-modules/광고/LoadAdMobInterstitialAdEvent.html)를 참고하세요.
519
- * @param {(reason: unknown) => void} [params.onError] 광고를 불러오지 못했을 때 호출돼요. (예시: 네트워크 오류나 지원하지 않는 환경일 때)
520
- * @property {() => boolean} [isSupported] 현재 실행 중인 앱(예: 토스 앱, 개발용 샌드박스 앱 등)에서 Google AdMob 광고 기능을 지원하는지 확인하는 함수예요. 기능을 사용하기 전에 지원 여부를 확인해야 해요.
559
+ * @deprecated 함수는 이상 사용되지 않습니다. 대신 {@link GoogleAdMob.loadAppsInTossAdMob}를 사용해주세요.
521
560
  *
522
561
  * @example
523
- * ### 버튼 눌러 불러온 전면 광고 보여주기
562
+ * ### 버튼 눌러 불러온 광고 보여주기 (loadAppsInTossAdMob로 변경 예제)
524
563
  * ```tsx
525
564
  * import { GoogleAdMob } from '@apps-in-toss/framework';
526
565
  * import { useFocusEffect } from '@granite-js/native/@react-navigation/native';
@@ -528,20 +567,20 @@ type LoadAdMobInterstitialAdParams = AdMobHandlerParams<LoadAdMobInterstitialAdO
528
567
  * import { useCallback, useState } from 'react';
529
568
  * import { Button, Text, View } from 'react-native';
530
569
  *
531
- * const AD_UNIT_ID = '<AD_UNIT_ID>';
570
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
532
571
  *
533
- * export function GoogleAdmobInterstitialAdExample() {
572
+ * export function GoogleAdmobExample() {
534
573
  * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
535
574
  * const navigation = useNavigation();
536
575
  *
537
576
  * const loadAd = useCallback(() => {
538
- * if (GoogleAdMob.loadAdMobInterstitialAd.isSupported() !== true) {
577
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
539
578
  * return;
540
579
  * }
541
580
 
542
- * const cleanup = GoogleAdMob.loadAdMobInterstitialAd({
581
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
543
582
  * options: {
544
- * adUnitId: AD_UNIT_ID,
583
+ * adGroupId: AD_GROUP_ID,
545
584
  * },
546
585
  * onEvent: (event) => {
547
586
  * switch (event.type) {
@@ -549,27 +588,6 @@ type LoadAdMobInterstitialAdParams = AdMobHandlerParams<LoadAdMobInterstitialAdO
549
588
  * console.log('광고 로드 성공', event.data);
550
589
  * setAdLoadStatus('loaded');
551
590
  * break;
552
- *
553
- * case 'clicked':
554
- * console.log('광고 클릭');
555
- * break;
556
- *
557
- * case 'dismissed':
558
- * console.log('광고 닫힘');
559
- * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
560
- * break;
561
- *
562
- * case 'failedToShow':
563
- * console.log('광고 보여주기 실패');
564
- * break;
565
- *
566
- * case 'impression':
567
- * console.log('광고 노출');
568
- * break;
569
- *
570
- * case 'show':
571
- * console.log('광고 컨텐츠 보여졌음');
572
- * break;
573
591
  * }
574
592
  * },
575
593
  * onError: (error) => {
@@ -581,19 +599,45 @@ type LoadAdMobInterstitialAdParams = AdMobHandlerParams<LoadAdMobInterstitialAdO
581
599
  * }, [navigation]);
582
600
  *
583
601
  * const showAd = useCallback(() => {
584
- * if (GoogleAdMob.showAdMobInterstitialAd.isSupported() !== true) {
602
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
585
603
  * return;
586
604
  * }
587
605
  *
588
- * GoogleAdMob.showAdMobInterstitialAd({
606
+ * GoogleAdMob.showAppsInTossAdMob({
589
607
  * options: {
590
- * adUnitId: AD_UNIT_ID,
608
+ * adGroupId: AD_GROUP_ID,
591
609
  * },
592
610
  * onEvent: (event) => {
593
611
  * switch (event.type) {
594
612
  * case 'requested':
595
613
  * console.log('광고 보여주기 요청 완료');
596
614
  * break;
615
+ *
616
+ * case 'clicked':
617
+ * console.log('광고 클릭');
618
+ * break;
619
+ *
620
+ * case 'dismissed':
621
+ * console.log('광고 닫힘');
622
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
623
+ * break;
624
+ *
625
+ * case 'failedToShow':
626
+ * console.log('광고 보여주기 실패');
627
+ * break;
628
+ *
629
+ * case 'impression':
630
+ * console.log('광고 노출');
631
+ * break;
632
+ *
633
+ * case 'userEarnedReward':
634
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
635
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
636
+ * break;
637
+ *
638
+ * case 'show':
639
+ * console.log('광고 컨텐츠 보여졌음');
640
+ * break;
597
641
  * }
598
642
  * },
599
643
  * onError: (error) => {
@@ -648,16 +692,10 @@ type ShowAdMobInterstitialAdParams = AdMobHandlerParams<ShowAdMobInterstitialAdO
648
692
  * @public
649
693
  * @category 광고
650
694
  * @name showAdMobInterstitialAd
651
- * @description 앱 화면 전체를 덮는 전면 광고를 사용자에게 노출해요. 이 함수는 `loadAdMobInterstitialAd` 미리 불러온 광고를 실제로 사용자에게 노출해요.
652
- * @param {ShowAdMobInterstitialAdParams} params 광고를 보여주기 위해 사용할 설정 값이에요. 광고 ID와과 광고의 동작에 대한 콜백을 설정할 수 있어요.
653
- * @param {ShowAdMobInterstitialAdOptions} params.options 광고를 보여줄 때 전달할 옵션 객체예요.
654
- * @param {string} params.options.adUnitId 광고 단위 ID예요. `loadAdMobInterstitialAd` 로 불러온 전면 광고용 ID를 입력해요.
655
- * @param {(event: ShowAdMobInterstitialAdEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고 노출을 요청했을 때). 자세한 이벤트 타입은 [ShowAdMobInterstitialAdEvent](/react-native/reference/native-modules/광고/ShowAdMobInterstitialAdEvent.html)를 참고하세요.
656
- * @param {(reason: unknown) => void} [params.onError] 광고를 노출하지 못했을 때 호출돼요. (예시: 네트워크 오류나 지원하지 않는 환경일 때)
657
- * @property {() => boolean} [isSupported] 현재 실행 중인 앱(예: 토스 앱, 개발용 샌드박스 앱 등)에서 Google AdMob 광고 기능을 지원하는지 확인하는 함수예요. 기능을 사용하기 전에 지원 여부를 확인해야 해요.
695
+ * @deprecated 이 함수는 이상 사용되지 않습니다. 대신 {@link GoogleAdMob.showAppsInTossAdMob}를 사용해주세요.
658
696
  *
659
697
  * @example
660
- * ### 버튼 눌러 불러온 전면 광고 보여주기
698
+ * ### 버튼 눌러 불러온 광고 보여주기 (showAppsInTossAdMob로 변경 예제)
661
699
  * ```tsx
662
700
  * import { GoogleAdMob } from '@apps-in-toss/framework';
663
701
  * import { useFocusEffect } from '@granite-js/native/@react-navigation/native';
@@ -665,20 +703,20 @@ type ShowAdMobInterstitialAdParams = AdMobHandlerParams<ShowAdMobInterstitialAdO
665
703
  * import { useCallback, useState } from 'react';
666
704
  * import { Button, Text, View } from 'react-native';
667
705
  *
668
- * const AD_UNIT_ID = '<AD_UNIT_ID>';
706
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
669
707
  *
670
- * export function GoogleAdmobInterstitialAdExample() {
708
+ * export function GoogleAdmobExample() {
671
709
  * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
672
710
  * const navigation = useNavigation();
673
711
  *
674
712
  * const loadAd = useCallback(() => {
675
- * if (GoogleAdMob.loadAdMobInterstitialAd.isSupported() !== true) {
713
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
676
714
  * return;
677
715
  * }
678
716
 
679
- * const cleanup = GoogleAdMob.loadAdMobInterstitialAd({
717
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
680
718
  * options: {
681
- * adUnitId: AD_UNIT_ID,
719
+ * adGroupId: AD_GROUP_ID,
682
720
  * },
683
721
  * onEvent: (event) => {
684
722
  * switch (event.type) {
@@ -686,27 +724,6 @@ type ShowAdMobInterstitialAdParams = AdMobHandlerParams<ShowAdMobInterstitialAdO
686
724
  * console.log('광고 로드 성공', event.data);
687
725
  * setAdLoadStatus('loaded');
688
726
  * break;
689
- *
690
- * case 'clicked':
691
- * console.log('광고 클릭');
692
- * break;
693
- *
694
- * case 'dismissed':
695
- * console.log('광고 닫힘');
696
- * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
697
- * break;
698
- *
699
- * case 'failedToShow':
700
- * console.log('광고 보여주기 실패');
701
- * break;
702
- *
703
- * case 'impression':
704
- * console.log('광고 노출');
705
- * break;
706
- *
707
- * case 'show':
708
- * console.log('광고 컨텐츠 보여졌음');
709
- * break;
710
727
  * }
711
728
  * },
712
729
  * onError: (error) => {
@@ -718,19 +735,45 @@ type ShowAdMobInterstitialAdParams = AdMobHandlerParams<ShowAdMobInterstitialAdO
718
735
  * }, [navigation]);
719
736
  *
720
737
  * const showAd = useCallback(() => {
721
- * if (GoogleAdMob.showAdMobInterstitialAd.isSupported() !== true) {
738
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
722
739
  * return;
723
740
  * }
724
741
  *
725
- * GoogleAdMob.showAdMobInterstitialAd({
742
+ * GoogleAdMob.showAppsInTossAdMob({
726
743
  * options: {
727
- * adUnitId: AD_UNIT_ID,
744
+ * adGroupId: AD_GROUP_ID,
728
745
  * },
729
746
  * onEvent: (event) => {
730
747
  * switch (event.type) {
731
748
  * case 'requested':
732
749
  * console.log('광고 보여주기 요청 완료');
733
750
  * break;
751
+ *
752
+ * case 'clicked':
753
+ * console.log('광고 클릭');
754
+ * break;
755
+ *
756
+ * case 'dismissed':
757
+ * console.log('광고 닫힘');
758
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
759
+ * break;
760
+ *
761
+ * case 'failedToShow':
762
+ * console.log('광고 보여주기 실패');
763
+ * break;
764
+ *
765
+ * case 'impression':
766
+ * console.log('광고 노출');
767
+ * break;
768
+ *
769
+ * case 'userEarnedReward':
770
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
771
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
772
+ * break;
773
+ *
774
+ * case 'show':
775
+ * console.log('광고 컨텐츠 보여졌음');
776
+ * break;
734
777
  * }
735
778
  * },
736
779
  * onError: (error) => {
@@ -788,44 +831,62 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
788
831
  * @public
789
832
  * @category 광고
790
833
  * @name loadAdMobRewardedAd
791
- * @description 사용자가 광고를 끝까지 시청하면 리워드를 제공할 있는 보상형 광고를 미리 불러와서, 광고가 필요한 시점에 바로 보여줄 수 있도록 준비하는 함수예요.
792
- * @param {LoadAdMobRewardedAdParams} params 광고를 불러올 때 사용할 설정 값이에요. 광고 ID와 광고의 동작에 대한 콜백을 설정할 수 있어요.
793
- * @param {LoadAdMobRewardedAdOptions} params.options 광고를 불러올 때 전달할 옵션 객체예요.
794
- * @param {string} params.options.adUnitId 광고 단위 ID예요. 발급받은 보상형 광고용 ID를 입력해요.
795
- * @param {(event: LoadAdMobRewardedAdEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고가 닫히거나 클릭됐을 때). 자세한 이벤트 타입은 [LoadAdMobRewardedAdEvent](/react-native/reference/native-modules/광고/LoadAdMobRewardedAdEvent.html)를 참고하세요.
796
- * @param {(reason: unknown) => void} [params.onError] 광고를 불러오지 못했을 때 호출돼요. (예시: 네트워크 오류나 지원하지 않는 환경일 때)
797
- * @property {() => boolean} [isSupported] 현재 실행 중인 앱(예: 토스 앱, 개발용 샌드박스 앱 등)에서 Google AdMob 광고 기능을 지원하는지 확인하는 함수예요. 기능을 사용하기 전에 지원 여부를 확인해야 해요.
834
+ * @deprecated 함수는 이상 사용되지 않습니다. 대신 {@link GoogleAdMob.loadAppsInTossAdMob}를 사용해주세요.
798
835
  *
799
836
  * @example
800
- *
801
- * ### 버튼 눌러 불러온 보상형 광고 보여주기
802
- *
837
+ * ### 버튼 눌러 불러온 광고 보여주기 (loadAppsInTossAdMob로 변경 예제)
803
838
  * ```tsx
804
839
  * import { GoogleAdMob } from '@apps-in-toss/framework';
840
+ * import { useFocusEffect } from '@react-native-bedrock/native/@react-navigation/native';
805
841
  * import { useCallback, useState } from 'react';
806
842
  * import { Button, Text, View } from 'react-native';
843
+ * import { useNavigation } from 'react-native-bedrock';
807
844
  *
808
- * const AD_UNIT_ID = '<AD_UNIT_ID>';
845
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
809
846
  *
810
- * export function GoogleAdmobRewardedAdExample() {
847
+ * export function GoogleAdmobExample() {
811
848
  * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
849
+ * const navigation = useNavigation();
812
850
  *
813
851
  * const loadAd = useCallback(() => {
814
- * if (GoogleAdMob.loadAdMobRewardedAd.isSupported() !== true) {
852
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
815
853
  * return;
816
854
  * }
817
- *
818
- * const cleanup = GoogleAdMob.loadAdMobRewardedAd({
855
+
856
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
819
857
  * options: {
820
- * adUnitId: AD_UNIT_ID,
858
+ * adGroupId: AD_GROUP_ID,
821
859
  * },
822
860
  * onEvent: (event) => {
823
- * console.log(event.type);
824
861
  * switch (event.type) {
825
862
  * case 'loaded':
826
863
  * console.log('광고 로드 성공', event.data);
827
864
  * setAdLoadStatus('loaded');
828
865
  * break;
866
+ * }
867
+ * },
868
+ * onError: (error) => {
869
+ * console.error('광고 불러오기 실패', error);
870
+ * },
871
+ * });
872
+ *
873
+ * return cleanup;
874
+ * }, [navigation]);
875
+ *
876
+ * const showAd = useCallback(() => {
877
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
878
+ * return;
879
+ * }
880
+ *
881
+ * GoogleAdMob.showAppsInTossAdMob({
882
+ * options: {
883
+ * adGroupId: AD_GROUP_ID,
884
+ * },
885
+ * onEvent: (event) => {
886
+ * switch (event.type) {
887
+ * case 'requested':
888
+ * console.log('광고 보여주기 요청 완료');
889
+ * break;
829
890
  *
830
891
  * case 'clicked':
831
892
  * console.log('광고 클릭');
@@ -833,6 +894,7 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
833
894
  *
834
895
  * case 'dismissed':
835
896
  * console.log('광고 닫힘');
897
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
836
898
  * break;
837
899
  *
838
900
  * case 'failedToShow':
@@ -843,12 +905,99 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
843
905
  * console.log('광고 노출');
844
906
  * break;
845
907
  *
908
+ * case 'userEarnedReward':
909
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
910
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
911
+ * break;
912
+ *
846
913
  * case 'show':
847
914
  * console.log('광고 컨텐츠 보여졌음');
848
915
  * break;
916
+ * }
917
+ * },
918
+ * onError: (error) => {
919
+ * console.error('광고 보여주기 실패', error);
920
+ * },
921
+ * });
922
+ * }, []);
849
923
  *
850
- * case 'userEarnedReward':
851
- * console.log('사용자가 광고 시청을 완료했음');
924
+ * useFocusEffect(loadAd);
925
+ *
926
+ * return (
927
+ * <View>
928
+ * <Text>
929
+ * {adLoadStatus === 'not_loaded' && '광고 로드 하지 않음 '}
930
+ * {adLoadStatus === 'loaded' && '광고 로드 완료'}
931
+ * {adLoadStatus === 'failed' && '광고 로드 실패'}
932
+ * </Text>
933
+ *
934
+ * <Button title="Show Ad" onPress={showAd} disabled={adLoadStatus !== 'loaded'} />
935
+ * </View>
936
+ * );
937
+ * }
938
+ * ```
939
+ */
940
+ declare function loadAdMobRewardedAd(params: LoadAdMobRewardedAdParams): () => void;
941
+ declare namespace loadAdMobRewardedAd {
942
+ var isSupported: () => boolean;
943
+ }
944
+ interface ShowAdMobRewardedAdOptions {
945
+ /**
946
+ * 광고 단위 ID
947
+ */
948
+ adUnitId: string;
949
+ }
950
+ /**
951
+ * @public
952
+ * @category 광고
953
+ * @name ShowAdMobRewardedAdEvent
954
+ * @description 보상형 광고를 보여주는 함수에서 발생하는 이벤트 타입이에요. `requested` 이벤트가 발생하면 광고 노출 요청이 Google AdMob에 성공적으로 전달된 거예요.
955
+ */
956
+ type ShowAdMobRewardedAdEvent = {
957
+ type: 'requested';
958
+ };
959
+ /**
960
+ * @public
961
+ * @category 광고
962
+ * @name ShowAdMobRewardedAdParams
963
+ * @description 불러온 보상형 광고를 보여주는 함수에 필요한 옵션 객체예요.
964
+ */
965
+ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions, ShowAdMobRewardedAdEvent>;
966
+ /**
967
+ * @public
968
+ * @category 광고
969
+ * @name showAdMobRewardedAd
970
+ * @deprecated 이 함수는 더 이상 사용되지 않습니다. 대신 {@link GoogleAdMob.showAppsInTossAdMob}를 사용해주세요.
971
+ *
972
+ * @example
973
+ * ### 버튼 눌러 불러온 광고 보여주기 (showAppsInTossAdMob로 변경 예제)
974
+ * ```tsx
975
+ * import { GoogleAdMob } from '@apps-in-toss/framework';
976
+ * import { useFocusEffect } from '@react-native-bedrock/native/@react-navigation/native';
977
+ * import { useCallback, useState } from 'react';
978
+ * import { Button, Text, View } from 'react-native';
979
+ * import { useNavigation } from 'react-native-bedrock';
980
+ *
981
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
982
+ *
983
+ * export function GoogleAdmobExample() {
984
+ * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
985
+ * const navigation = useNavigation();
986
+ *
987
+ * const loadAd = useCallback(() => {
988
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
989
+ * return;
990
+ * }
991
+
992
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
993
+ * options: {
994
+ * adGroupId: AD_GROUP_ID,
995
+ * },
996
+ * onEvent: (event) => {
997
+ * switch (event.type) {
998
+ * case 'loaded':
999
+ * console.log('광고 로드 성공', event.data);
1000
+ * setAdLoadStatus('loaded');
852
1001
  * break;
853
1002
  * }
854
1003
  * },
@@ -858,22 +1007,47 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
858
1007
  * });
859
1008
  *
860
1009
  * return cleanup;
861
- * }, []);
1010
+ * }, [navigation]);
862
1011
  *
863
1012
  * const showAd = useCallback(() => {
864
- * if (GoogleAdMob.showAdMobRewardedAd.isSupported() !== true) {
1013
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
865
1014
  * return;
866
1015
  * }
867
1016
  *
868
- * GoogleAdMob.showAdMobRewardedAd({
1017
+ * GoogleAdMob.showAppsInTossAdMob({
869
1018
  * options: {
870
- * adUnitId: AD_UNIT_ID,
1019
+ * adGroupId: AD_GROUP_ID,
871
1020
  * },
872
1021
  * onEvent: (event) => {
873
1022
  * switch (event.type) {
874
1023
  * case 'requested':
875
1024
  * console.log('광고 보여주기 요청 완료');
876
- * setAdLoadStatus('not_loaded');
1025
+ * break;
1026
+ *
1027
+ * case 'clicked':
1028
+ * console.log('광고 클릭');
1029
+ * break;
1030
+ *
1031
+ * case 'dismissed':
1032
+ * console.log('광고 닫힘');
1033
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
1034
+ * break;
1035
+ *
1036
+ * case 'failedToShow':
1037
+ * console.log('광고 보여주기 실패');
1038
+ * break;
1039
+ *
1040
+ * case 'impression':
1041
+ * console.log('광고 노출');
1042
+ * break;
1043
+ *
1044
+ * case 'userEarnedReward':
1045
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
1046
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
1047
+ * break;
1048
+ *
1049
+ * case 'show':
1050
+ * console.log('광고 컨텐츠 보여졌음');
877
1051
  * break;
878
1052
  * }
879
1053
  * },
@@ -883,6 +1057,8 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
883
1057
  * });
884
1058
  * }, []);
885
1059
  *
1060
+ * useFocusEffect(loadAd);
1061
+ *
886
1062
  * return (
887
1063
  * <View>
888
1064
  * <Text>
@@ -891,80 +1067,106 @@ type LoadAdMobRewardedAdParams = AdMobHandlerParams<LoadAdMobRewardedAdOptions,
891
1067
  * {adLoadStatus === 'failed' && '광고 로드 실패'}
892
1068
  * </Text>
893
1069
  *
894
- * <Button title="Load Ad" onPress={loadAd} />
895
1070
  * <Button title="Show Ad" onPress={showAd} disabled={adLoadStatus !== 'loaded'} />
896
1071
  * </View>
897
1072
  * );
898
1073
  * }
899
1074
  * ```
900
1075
  */
901
- declare function loadAdMobRewardedAd(params: LoadAdMobRewardedAdParams): () => void;
902
- declare namespace loadAdMobRewardedAd {
1076
+ declare function showAdMobRewardedAd(params: ShowAdMobRewardedAdParams): () => void;
1077
+ declare namespace showAdMobRewardedAd {
903
1078
  var isSupported: () => boolean;
904
1079
  }
905
- interface ShowAdMobRewardedAdOptions {
1080
+
1081
+ interface LoadAdMobOptions {
906
1082
  /**
907
- * 광고 단위 ID
1083
+ * 광고 그룹 단위 ID
908
1084
  */
909
- adUnitId: string;
1085
+ adGroupId: string;
910
1086
  }
911
1087
  /**
912
1088
  * @public
913
1089
  * @category 광고
914
- * @name ShowAdMobRewardedAdEvent
915
- * @description 보상형 광고를 보여주는 함수에서 발생하는 이벤트 타입이에요. `requested` 이벤트가 발생하면 광고 노출 요청이 Google AdMob에 성공적으로 전달된 거예요.
1090
+ * @name LoadAdMobEvent
1091
+ * @description 광고를 불러오는 함수에서 발생하는 이벤트 타입이에요. `loaded` 이벤트가 발생하면 광고를 성공적으로 불러온 거예요. 이때 [AdMobLoadResult](/react-native/reference/native-modules/광고/AdMobLoadResult.html) 객체가 함께 반환돼요.
916
1092
  */
917
- type ShowAdMobRewardedAdEvent = {
918
- type: 'requested';
1093
+ type LoadAdMobEvent = {
1094
+ type: 'loaded';
1095
+ data: AdMobLoadResult;
919
1096
  };
920
1097
  /**
921
1098
  * @public
922
1099
  * @category 광고
923
- * @name ShowAdMobRewardedAdParams
924
- * @description 불러온 보상형 광고를 보여주는 함수에 필요한 옵션 객체예요.
1100
+ * @name LoadAdMobParams
1101
+ * @description 광고를 불러오는 함수에 필요한 옵션 객체예요.
925
1102
  */
926
- type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions, ShowAdMobRewardedAdEvent>;
1103
+ type LoadAdMobParams = AdMobHandlerParams<LoadAdMobOptions, LoadAdMobEvent>;
927
1104
  /**
928
1105
  * @public
929
1106
  * @category 광고
930
- * @name showAdMobRewardedAd
931
- * @description 사용자가 광고를 끝까지 보면 리워드를 받을 있도록, 보상형 광고를 화면에 보여줘요. 이 함수는 `loadAdMobRewardedAd` 로 미리 불러온 광고를 실제로 사용자에게 노출해요.
932
- * @param {ShowAdMobRewardedAdParams} params 광고를 보여주기 위해 사용할 설정 값이에요. 광고 ID와 광고의 동작에 대한 콜백을 설정할 수 있어요.
933
- * @param {ShowAdMobRewardedAdOptions} params.options 광고를 보여줄 때 전달할 옵션 객체예요.
934
- * @param {string} params.options.adUnitId 광고 단위 ID예요. `loadAdMobRewardedAd` 불러온 보상형 광고용 ID를 입력해요.
935
- * @param {(event: ShowAdMobRewardedAdEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고 노출을 요청했을 때). 자세한 이벤트 타입은 [ShowAdMobRewardedAdEvent](/react-native/reference/native-modules/광고/ShowAdMobRewardedAdEvent.html)를 참고하세요.
1107
+ * @name loadAppsInTossAdMob
1108
+ * @description 광고를 미리 불러와서, 광고가 필요한 시점에 바로 보여줄 있도록 준비하는 함수예요.
1109
+ * @param {LoadAdMobParams} params 광고를 불러올 사용할 설정 값이에요. 광고 그룹 ID와 광고의 동작에 대한 콜백을 설정할 수 있어요.
1110
+ * @param {LoadAdMobOptions} params.options 광고를 불러올 때 전달할 옵션 객체예요.
1111
+ * @param {string} params.options.adGroupId 광고 그룹 단위 ID예요. 콘솔에서 발급받은 ID를 입력해요.
1112
+ * @param {(event: LoadAdMobEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고가 닫히거나 클릭됐을 때). 자세한 이벤트 타입은 [LoadAdMobEvent](/react-native/reference/native-modules/광고/LoadAdMobEvent.html)를 참고하세요.
936
1113
  * @param {(reason: unknown) => void} [params.onError] 광고를 불러오지 못했을 때 호출돼요. (예시: 네트워크 오류나 지원하지 않는 환경일 때)
937
1114
  * @property {() => boolean} [isSupported] 현재 실행 중인 앱(예: 토스 앱, 개발용 샌드박스 앱 등)에서 Google AdMob 광고 기능을 지원하는지 확인하는 함수예요. 기능을 사용하기 전에 지원 여부를 확인해야 해요.
938
1115
  *
939
1116
  * @example
940
- * ### 버튼 눌러 불러온 보상형 광고 보여주기
941
- *
1117
+ * ### 버튼 눌러 불러온 광고 보여주기
942
1118
  * ```tsx
943
1119
  * import { GoogleAdMob } from '@apps-in-toss/framework';
1120
+ * import { useFocusEffect } from '@react-native-bedrock/native/@react-navigation/native';
944
1121
  * import { useCallback, useState } from 'react';
945
1122
  * import { Button, Text, View } from 'react-native';
1123
+ * import { useNavigation } from 'react-native-bedrock';
946
1124
  *
947
- * const AD_UNIT_ID = '<AD_UNIT_ID>';
1125
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
948
1126
  *
949
- * export function GoogleAdmobRewardedAdExample() {
1127
+ * export function GoogleAdmobExample() {
950
1128
  * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
1129
+ * const navigation = useNavigation();
951
1130
  *
952
1131
  * const loadAd = useCallback(() => {
953
- * if (GoogleAdMob.loadAdMobRewardedAd.isSupported() !== true) {
1132
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
954
1133
  * return;
955
1134
  * }
956
- *
957
- * const cleanup = GoogleAdMob.loadAdMobRewardedAd({
1135
+
1136
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
958
1137
  * options: {
959
- * adUnitId: AD_UNIT_ID,
1138
+ * adGroupId: AD_GROUP_ID,
960
1139
  * },
961
1140
  * onEvent: (event) => {
962
- * console.log(event.type);
963
1141
  * switch (event.type) {
964
1142
  * case 'loaded':
965
1143
  * console.log('광고 로드 성공', event.data);
966
1144
  * setAdLoadStatus('loaded');
967
1145
  * break;
1146
+ * }
1147
+ * },
1148
+ * onError: (error) => {
1149
+ * console.error('광고 불러오기 실패', error);
1150
+ * },
1151
+ * });
1152
+ *
1153
+ * return cleanup;
1154
+ * }, [navigation]);
1155
+ *
1156
+ * const showAd = useCallback(() => {
1157
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
1158
+ * return;
1159
+ * }
1160
+ *
1161
+ * GoogleAdMob.showAppsInTossAdMob({
1162
+ * options: {
1163
+ * adGroupId: AD_GROUP_ID,
1164
+ * },
1165
+ * onEvent: (event) => {
1166
+ * switch (event.type) {
1167
+ * case 'requested':
1168
+ * console.log('광고 보여주기 요청 완료');
1169
+ * break;
968
1170
  *
969
1171
  * case 'clicked':
970
1172
  * console.log('광고 클릭');
@@ -972,6 +1174,7 @@ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions,
972
1174
  *
973
1175
  * case 'dismissed':
974
1176
  * console.log('광고 닫힘');
1177
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
975
1178
  * break;
976
1179
  *
977
1180
  * case 'failedToShow':
@@ -982,12 +1185,105 @@ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions,
982
1185
  * console.log('광고 노출');
983
1186
  * break;
984
1187
  *
1188
+ * case 'userEarnedReward':
1189
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
1190
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
1191
+ * break;
1192
+ *
985
1193
  * case 'show':
986
1194
  * console.log('광고 컨텐츠 보여졌음');
987
1195
  * break;
1196
+ * }
1197
+ * },
1198
+ * onError: (error) => {
1199
+ * console.error('광고 보여주기 실패', error);
1200
+ * },
1201
+ * });
1202
+ * }, []);
988
1203
  *
989
- * case 'userEarnedReward':
990
- * console.log('사용자가 광고 시청을 완료했음');
1204
+ * useFocusEffect(loadAd);
1205
+ *
1206
+ * return (
1207
+ * <View>
1208
+ * <Text>
1209
+ * {adLoadStatus === 'not_loaded' && '광고 로드 하지 않음 '}
1210
+ * {adLoadStatus === 'loaded' && '광고 로드 완료'}
1211
+ * {adLoadStatus === 'failed' && '광고 로드 실패'}
1212
+ * </Text>
1213
+ *
1214
+ * <Button title="Show Ad" onPress={showAd} disabled={adLoadStatus !== 'loaded'} />
1215
+ * </View>
1216
+ * );
1217
+ * }
1218
+ * ```
1219
+ */
1220
+ declare function loadAppsInTossAdMob(params: LoadAdMobParams): () => void;
1221
+ declare namespace loadAppsInTossAdMob {
1222
+ var isSupported: () => boolean;
1223
+ }
1224
+ interface ShowAdMobOptions {
1225
+ /**
1226
+ * 광고 그룹 단위 ID
1227
+ */
1228
+ adGroupId: string;
1229
+ }
1230
+ /**
1231
+ * @public
1232
+ * @category 광고
1233
+ * @name ShowAdMobEvent
1234
+ * @description 광고를 보여주는 함수에서 발생하는 이벤트 타입이에요. `requested` 이벤트가 발생하면 광고 노출 요청이 Google AdMob에 성공적으로 전달된 거예요.
1235
+ */
1236
+ type ShowAdMobEvent = AdMobFullScreenEvent | AdUserEarnedReward | {
1237
+ type: 'requested';
1238
+ };
1239
+ /**
1240
+ * @public
1241
+ * @category 광고
1242
+ * @name ShowAdMobParams
1243
+ * @description 불러온 광고를 보여주는 함수에 필요한 옵션 객체예요.
1244
+ */
1245
+ type ShowAdMobParams = AdMobHandlerParams<ShowAdMobOptions, ShowAdMobEvent>;
1246
+ /**
1247
+ * @public
1248
+ * @category 광고
1249
+ * @name showAppsInTossAdMob
1250
+ * @description 광고를 사용자에게 노출해요. 이 함수는 `loadAppsInTossAdMob` 로 미리 불러온 광고를 실제로 사용자에게 노출해요.
1251
+ * @param {ShowAdMobParams} params 광고를 보여주기 위해 사용할 설정 값이에요. 광고 그룹 ID와과 광고의 동작에 대한 콜백을 설정할 수 있어요.
1252
+ * @param {ShowAdMobOptions} params.options 광고를 보여줄 때 전달할 옵션 객체예요.
1253
+ * @param {string} params.options.adUnitId 광고 그룹 단위 ID예요. `loadAppsInTossAdMob` 로 불러온 광고용 그룹 ID를 입력해요.
1254
+ * @param {(event: ShowAdMobEvent) => void} [params.onEvent] 광고 관련 이벤트가 발생했을 때 호출돼요. (예시: 광고 노출을 요청했을 때). 자세한 이벤트 타입은 [ShowAdMobEvent](/react-native/reference/native-modules/광고/ShowAdMobEvent.html)를 참고하세요.
1255
+ * @param {(reason: unknown) => void} [params.onError] 광고를 노출하지 못했을 때 호출돼요. (예시: 네트워크 오류나 지원하지 않는 환경일 때)
1256
+ * @property {() => boolean} [isSupported] 현재 실행 중인 앱(예: 토스 앱, 개발용 샌드박스 앱 등)에서 Google AdMob 광고 기능을 지원하는지 확인하는 함수예요. 기능을 사용하기 전에 지원 여부를 확인해야 해요.
1257
+ *
1258
+ * @example
1259
+ * ### 버튼 눌러 불러온 광고 보여주기
1260
+ * ```tsx
1261
+ * import { GoogleAdMob } from '@apps-in-toss/framework';
1262
+ * import { useFocusEffect } from '@react-native-bedrock/native/@react-navigation/native';
1263
+ * import { useCallback, useState } from 'react';
1264
+ * import { Button, Text, View } from 'react-native';
1265
+ * import { useNavigation } from 'react-native-bedrock';
1266
+ *
1267
+ * const AD_GROUP_ID = '<AD_GROUP_ID>';
1268
+ *
1269
+ * export function GoogleAdmobExample() {
1270
+ * const [adLoadStatus, setAdLoadStatus] = useState<'not_loaded' | 'loaded' | 'failed'>('not_loaded');
1271
+ * const navigation = useNavigation();
1272
+ *
1273
+ * const loadAd = useCallback(() => {
1274
+ * if (GoogleAdMob.loadAppsInTossAdMob.isSupported() !== true) {
1275
+ * return;
1276
+ * }
1277
+
1278
+ * const cleanup = GoogleAdMob.loadAppsInTossAdMob({
1279
+ * options: {
1280
+ * adGroupId: AD_GROUP_ID,
1281
+ * },
1282
+ * onEvent: (event) => {
1283
+ * switch (event.type) {
1284
+ * case 'loaded':
1285
+ * console.log('광고 로드 성공', event.data);
1286
+ * setAdLoadStatus('loaded');
991
1287
  * break;
992
1288
  * }
993
1289
  * },
@@ -997,22 +1293,47 @@ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions,
997
1293
  * });
998
1294
  *
999
1295
  * return cleanup;
1000
- * }, []);
1296
+ * }, [navigation]);
1001
1297
  *
1002
1298
  * const showAd = useCallback(() => {
1003
- * if (GoogleAdMob.showAdMobRewardedAd.isSupported() !== true) {
1299
+ * if (GoogleAdMob.showAppsInTossAdMob.isSupported() !== true) {
1004
1300
  * return;
1005
1301
  * }
1006
1302
  *
1007
- * GoogleAdMob.showAdMobRewardedAd({
1303
+ * GoogleAdMob.showAppsInTossAdMob({
1008
1304
  * options: {
1009
- * adUnitId: AD_UNIT_ID,
1305
+ * adGroupId: AD_GROUP_ID,
1010
1306
  * },
1011
1307
  * onEvent: (event) => {
1012
1308
  * switch (event.type) {
1013
1309
  * case 'requested':
1014
1310
  * console.log('광고 보여주기 요청 완료');
1015
- * setAdLoadStatus('not_loaded');
1311
+ * break;
1312
+ *
1313
+ * case 'clicked':
1314
+ * console.log('광고 클릭');
1315
+ * break;
1316
+ *
1317
+ * case 'dismissed':
1318
+ * console.log('광고 닫힘');
1319
+ * navigation.navigate('/examples/google-admob-interstitial-ad-landing');
1320
+ * break;
1321
+ *
1322
+ * case 'failedToShow':
1323
+ * console.log('광고 보여주기 실패');
1324
+ * break;
1325
+ *
1326
+ * case 'impression':
1327
+ * console.log('광고 노출');
1328
+ * break;
1329
+ *
1330
+ * case 'userEarnedReward':
1331
+ * console.log('광고 보상 획득 unitType:', event.data.unitType);
1332
+ * console.log('광고 보상 획득 unitAmount:', event.data.unitAmount);
1333
+ * break;
1334
+ *
1335
+ * case 'show':
1336
+ * console.log('광고 컨텐츠 보여졌음');
1016
1337
  * break;
1017
1338
  * }
1018
1339
  * },
@@ -1022,6 +1343,8 @@ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions,
1022
1343
  * });
1023
1344
  * }, []);
1024
1345
  *
1346
+ * useFocusEffect(loadAd);
1347
+ *
1025
1348
  * return (
1026
1349
  * <View>
1027
1350
  * <Text>
@@ -1030,15 +1353,14 @@ type ShowAdMobRewardedAdParams = AdMobHandlerParams<ShowAdMobRewardedAdOptions,
1030
1353
  * {adLoadStatus === 'failed' && '광고 로드 실패'}
1031
1354
  * </Text>
1032
1355
  *
1033
- * <Button title="Load Ad" onPress={loadAd} />
1034
1356
  * <Button title="Show Ad" onPress={showAd} disabled={adLoadStatus !== 'loaded'} />
1035
1357
  * </View>
1036
1358
  * );
1037
1359
  * }
1038
1360
  * ```
1039
1361
  */
1040
- declare function showAdMobRewardedAd(params: ShowAdMobRewardedAdParams): () => void;
1041
- declare namespace showAdMobRewardedAd {
1362
+ declare function showAppsInTossAdMob(params: ShowAdMobParams): () => void;
1363
+ declare namespace showAppsInTossAdMob {
1042
1364
  var isSupported: () => boolean;
1043
1365
  }
1044
1366
 
@@ -2344,12 +2666,16 @@ declare const TossPay: {
2344
2666
  * @property {typeof showAdMobInterstitialAd} [showAdMobInterstitialAd] 로드한 전면 광고를 보여주는 함수예요. 자세한 내용은 [showAdMobInterstitialAd](/react-native/reference/native-modules/광고/showAdMobInterstitialAd.html)를 참고하세요.
2345
2667
  * @property {typeof loadAdMobRewardedAd} [loadAdMobRewardedAd] 보상형 광고를 로드하는 함수예요. 자세한 내용은 [loadAdMobRewardedAd](/react-native/reference/native-modules/광고/loadAdMobRewardedAd.html)를 참고하세요.
2346
2668
  * @property {typeof showAdMobRewardedAd} [showAdMobRewardedAd] 로드한 보상형 광고를 보여주는 함수예요. 자세한 내용은 [showAdMobRewardedAd](/react-native/reference/native-modules/광고/showAdMobRewardedAd.html)를 참고하세요.
2669
+ * @property {typeof loadAppsInTossAdMob} [loadAppsInTossAdMob] 광고를 로드하는 함수예요. 자세한 내용은 [loadAppsInTossAdMob](/react-native/reference/native-modules/광고/loadAppsInTossAdMob.html)를 참고하세요.
2670
+ * @property {typeof showAppsInTossAdMob} [showAppsInTossAdMob] 로드한 광고를 보여주는 함수예요. 자세한 내용은 [showAppsInTossAdMob](/react-native/reference/native-modules/광고/showAppsInTossAdMob.html)를 참고하세요.
2347
2671
  */
2348
2672
  declare const GoogleAdMob: {
2349
2673
  loadAdMobInterstitialAd: typeof loadAdMobInterstitialAd;
2350
2674
  showAdMobInterstitialAd: typeof showAdMobInterstitialAd;
2351
2675
  loadAdMobRewardedAd: typeof loadAdMobRewardedAd;
2352
2676
  showAdMobRewardedAd: typeof showAdMobRewardedAd;
2677
+ loadAppsInTossAdMob: typeof loadAppsInTossAdMob;
2678
+ showAppsInTossAdMob: typeof showAppsInTossAdMob;
2353
2679
  };
2354
2680
 
2355
2681
  /**
@@ -2817,4 +3143,4 @@ declare const INTERNAL__module: {
2817
3143
  tossCoreEventLog: typeof tossCoreEventLog;
2818
3144
  };
2819
3145
 
2820
- export { Accuracy, AppsInTossModule, BedrockCoreModule, BedrockModule, type CheckoutPaymentOptions, type CheckoutPaymentResult, type ContactEntity, type ContactResult, type ContactsViralParams, type EventLogParams, type FetchAlbumPhotosOptions, type GameCenterGameProfileResponse, type GetCurrentLocationOptions, GoogleAdMob, type HapticFeedbackType, IAP, AppsInTossModuleInstance as INTERNAL__AppsInTossModule, INTERNAL__module, type IapCreateOneTimePurchaseOrderOptions, type IapCreateOneTimePurchaseOrderResult, type IapProductListItem, type ImageResponse, type LoadAdMobInterstitialAdEvent, type LoadAdMobInterstitialAdOptions, type LoadAdMobRewardedAdEvent, type LoadAdMobRewardedAdOptions, type Location, type LocationCoords, type NetworkStatus, type OpenCameraOptions, type PermissionAccess, type PermissionName, type PermissionStatus, type Primitive, type SaveBase64DataParams, type ShowAdMobInterstitialAdEvent, type ShowAdMobInterstitialAdOptions, type ShowAdMobRewardedAdEvent, type ShowAdMobRewardedAdOptions, type StartUpdateLocationOptions$1 as StartUpdateLocationOptions, type StartUpdateLocationSubscription, Storage, type SubmitGameCenterLeaderBoardScoreResponse, TossPay, type UpdateLocationEventEmitter, appLogin, appsInTossEvent, closeView, contactsViral, eventLog, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getClipboardText, getCurrentLocation, getDeviceId, getGameCenterGameProfile, getLocale, getNetworkStatus, getOperationalEnvironment, getPlatformOS, getSchemeUri, getTossAppVersion, getTossShareLink, isMinVersionSupported, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openURL, saveBase64Data, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, startUpdateLocation, submitGameCenterLeaderBoardScore };
3146
+ export { Accuracy, AppsInTossModule, BedrockCoreModule, BedrockModule, type CheckoutPaymentOptions, type CheckoutPaymentResult, type ContactEntity, type ContactResult, type ContactsViralParams, type EventLogParams, type FetchAlbumPhotosOptions, type GameCenterGameProfileResponse, type GetCurrentLocationOptions, GoogleAdMob, type HapticFeedbackType, IAP, AppsInTossModuleInstance as INTERNAL__AppsInTossModule, INTERNAL__appBridgeHandler, INTERNAL__module, type IapCreateOneTimePurchaseOrderOptions, type IapCreateOneTimePurchaseOrderResult, type IapProductListItem, type ImageResponse, type LoadAdMobEvent, type LoadAdMobInterstitialAdEvent, type LoadAdMobInterstitialAdOptions, type LoadAdMobOptions, type LoadAdMobParams, type LoadAdMobRewardedAdEvent, type LoadAdMobRewardedAdOptions, type Location, type LocationCoords, type NetworkStatus, type OpenCameraOptions, type PermissionAccess, type PermissionName, type PermissionStatus, type Primitive, type SaveBase64DataParams, type ShowAdMobEvent, type ShowAdMobInterstitialAdEvent, type ShowAdMobInterstitialAdOptions, type ShowAdMobOptions, type ShowAdMobParams, type ShowAdMobRewardedAdEvent, type ShowAdMobRewardedAdOptions, type StartUpdateLocationOptions$1 as StartUpdateLocationOptions, type StartUpdateLocationSubscription, Storage, type SubmitGameCenterLeaderBoardScoreResponse, TossPay, type UpdateLocationEventEmitter, appLogin, appsInTossEvent, closeView, contactsViral, eventLog, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getClipboardText, getCurrentLocation, getDeviceId, getGameCenterGameProfile, getLocale, getNetworkStatus, getOperationalEnvironment, getPlatformOS, getSchemeUri, getTossAppVersion, getTossShareLink, isMinVersionSupported, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openURL, saveBase64Data, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, startUpdateLocation, submitGameCenterLeaderBoardScore };