화면 깨짐현상 버그들 조치

This commit is contained in:
eld_master 2025-02-03 16:16:13 +09:00
parent eb51a6f6ee
commit e8734b0df4
8 changed files with 125 additions and 99 deletions

View File

@ -20,8 +20,8 @@ android {
applicationId "com.allscore_app"
minSdkVersion 23
targetSdkVersion 34
versionCode 4
versionName "1.0.3"
versionCode 6
versionName "1.0.5"
}
// ...

View File

@ -14,6 +14,14 @@
}
},
"oauth_client": [
{
"client_id": "452355332155-lqtr6l2qg0pn62vi5nccggldmcm21qdl.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.allscore_app",
"certificate_hash": "761f8d2290ebb091acdf3cf8400df65245047fb8"
}
},
{
"client_id": "452355332155-t29ceato8o62c9kq9drefe7b6hd1ka1d.apps.googleusercontent.com",
"client_type": 1,
@ -38,6 +46,13 @@
{
"client_id": "452355332155-jv26k1rs4tro38tc99mffid2e3gbra6j.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "452355332155-fo49j1u3qfup1sa3gj33bko6q269pqo4.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.example.allscoreApp"
}
}
]
}

View File

@ -11,15 +11,15 @@
android:icon="@mipmap/ic_launcher">
<!-- ★ 여기에 meta-data 추가 ★ -->
<meta-data
<!-- <meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
android:value="ca-app-pub-3940256099942544~3347511713" /> -->
<!-- android:value="ca-app-pub-6461991944599918~9492697896" -->
<!-- 구글 로그인 관련 -->
<meta-data
<!-- <meta-data
android:name="com.google.android.gms.auth.api.signin.client_id"
android:value="19981745655-3dadv7n64jqcada6mtc1ao25k1m90gp3.apps.googleusercontent.com" />
android:value="19981745655-3dadv7n64jqcada6mtc1ao25k1m90gp3.apps.googleusercontent.com" /> -->
<activity
android:name=".MainActivity"

View File

@ -383,15 +383,19 @@ class _UserInfoPrivateDialogState extends State<UserInfoPrivateDialog> {
],
),
] else ...[
ElevatedButton(
onPressed: () => Navigator.pop(context),
style: ElevatedButton.styleFrom(backgroundColor: Colors.black, padding: EdgeInsets.zero, minimumSize: Size(0, 30), tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: FittedBox(
fit: BoxFit.contain,
child: Text(
'OK'
/* '확인' */,
style: TextStyle(color: Colors.white, fontSize: 12 * scaleFactor),
SizedBox(
width: 80 * scaleFactor,
height: 40 * scaleFactor,
child: ElevatedButton(
onPressed: () => Navigator.pop(context),
style: ElevatedButton.styleFrom(backgroundColor: Colors.black, padding: EdgeInsets.zero, minimumSize: Size(0, 30), tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: FittedBox(
fit: BoxFit.contain,
child: Text(
'OK'
/* '확인' */,
style: TextStyle(color: Colors.white, fontSize: 12 * scaleFactor),
),
),
),
),

View File

@ -428,15 +428,18 @@ class _UserInfoTeamDialogState extends State<UserInfoTeamDialog> {
],
),
] else ...[
// If not the master, only "OK" ( "확인")
ElevatedButton(
onPressed: () => Navigator.pop(context),
style: ElevatedButton.styleFrom(backgroundColor: Colors.black, padding: EdgeInsets.zero, minimumSize: Size(0, 30), tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: AutoSizeText(
'OK'
/* '확인' */,
maxLines: 1,
style: const TextStyle(color: Colors.white),
SizedBox(
width: 80 * scaleFactor,
height: 40 * scaleFactor,
child: ElevatedButton(
onPressed: () => Navigator.pop(context),
style: ElevatedButton.styleFrom(backgroundColor: Colors.black, padding: EdgeInsets.zero, minimumSize: Size(0, 30), tapTargetSize: MaterialTapTargetSize.shrinkWrap),
child: AutoSizeText(
'OK'
/* '확인' */,
maxLines: 1,
style: const TextStyle(color: Colors.white),
),
),
),
],

View File

@ -24,6 +24,12 @@ void main() async {
//
MobileAds.instance.initialize();
RequestConfiguration configuration = RequestConfiguration(
testDeviceIds: ["CF2323B16A2434EF4291F29404AD42AC"], // ID
);
MobileAds.instance.updateRequestConfiguration(configuration);
runApp(const MyApp());
}

View File

@ -1,85 +1,83 @@
import 'package:flutter/material.dart';
// import 'package:google_mobile_ads/google_mobile_ads.dart';
// import '../config/config.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import '../config/config.dart';
/*
// ================== ( ) ==================
// class AdBannerWidget extends StatefulWidget {
// const AdBannerWidget({Key? key}) : super(key: key);
// @override
// State<AdBannerWidget> createState() => _AdBannerWidgetState();
// }
// class _AdBannerWidgetState extends State<AdBannerWidget> {
// BannerAd? _bannerAd; //
// @override
// void initState() {
// super.initState();
// _initBannerAd();
// }
// @override
// void dispose() {
// _bannerAd?.dispose();
// super.dispose();
// }
// /// &
// void _initBannerAd() {
// _bannerAd = BannerAd(
// size: AdSize.banner, // ()
// adUnitId: Config.adUnitId, // ID (Config에서 )
// listener: BannerAdListener(
// onAdLoaded: (Ad ad) {
// // : _bannerAd를 .
// setState(() {/* 굳이 아무 것도 안 해도 됨 */});
// },
// onAdFailedToLoad: (Ad ad, LoadAdError error) {
// // : & null
// ad.dispose();
// setState(() {
// _bannerAd = null;
// });
// },
// ),
// request: const AdRequest(),
// );
// //
// _bannerAd!.load();
// }
// @override
// Widget build(BuildContext context) {
// // / _bannerAd가 null
// if (_bannerAd == null) {
// return const SizedBox.shrink();
// }
// // Container에 AdWidget으로
// return Container(
// color: Colors.white, //
// width: _bannerAd!.size.width.toDouble(),
// height: _bannerAd!.size.height.toDouble(),
// child: AdWidget(ad: _bannerAd!),
// );
// }
// }
*/
// ================== / ==================
class AdBannerWidget extends StatelessWidget {
class AdBannerWidget extends StatefulWidget {
const AdBannerWidget({Key? key}) : super(key: key);
@override
State<AdBannerWidget> createState() => _AdBannerWidgetState();
}
class _AdBannerWidgetState extends State<AdBannerWidget> {
BannerAd? _bannerAd; //
@override
void initState() {
super.initState();
_initBannerAd();
}
@override
void dispose() {
_bannerAd?.dispose();
super.dispose();
}
/// &
void _initBannerAd() {
_bannerAd = BannerAd(
size: AdSize.banner, // ()
adUnitId: Config.adUnitId, // ID (Config에서 )
listener: BannerAdListener(
onAdLoaded: (Ad ad) {
// : _bannerAd를 .
setState(() {/* 굳이 아무 것도 안 해도 됨 */});
},
onAdFailedToLoad: (Ad ad, LoadAdError error) {
// : & null
ad.dispose();
setState(() {
_bannerAd = null;
});
},
),
request: const AdRequest(),
);
//
_bannerAd!.load();
}
@override
Widget build(BuildContext context) {
// () 50dp
// or return SizedBox.shrink()
return const SizedBox(
height: 50, //
child: ColoredBox(color: Colors.white), //
// / _bannerAd가 null
if (_bannerAd == null) {
return const SizedBox.shrink();
}
// Container에 AdWidget으로
return Container(
color: Colors.white, //
width: _bannerAd!.size.width.toDouble(),
height: _bannerAd!.size.height.toDouble(),
child: AdWidget(ad: _bannerAd!),
);
}
}
// ================== / ==================
// class AdBannerWidget extends StatelessWidget {
// const AdBannerWidget({Key? key}) : super(key: key);
// @override
// Widget build(BuildContext context) {
// // () 50dp
// // or return SizedBox.shrink()
// return const SizedBox(
// height: 50, //
// child: ColoredBox(color: Colors.white), //
// );
// }
// }

View File

@ -1,7 +1,7 @@
name: allscore_app
description: "A new Flutter project."
publish_to: 'none'
version: 1.0.3+4
version: 1.0.5+6
environment:
sdk: ^3.6.0